74 lines
2.2 KiB
Markdown
74 lines
2.2 KiB
Markdown
# Hudi Service
|
||
|
||
围绕Hudi同步和压缩流程建立了一整套的工具和流程。
|
||
|
||
## 部署
|
||
|
||
> 由于部份配置需要在源码增删,无法通过配置文件修改,**如果部署新集群,建议对master建立分支进行操作,避免配置混淆**
|
||
|
||
### 配置准备
|
||
|
||
#### 主机规划
|
||
|
||
通常来说,应用部署需要逻辑上规划有
|
||
|
||
- 一台**接口机**;用于操作脚本、存放jar包等。
|
||
- 一台**组件机**;用于部署应用配套的外部组件。
|
||
- 剩下的作为**应用机**;用于部署应用服务节点。
|
||
|
||
上述为逻辑规划,原则上对于机器配置没有特别要求,可以混用;如接口机上也用于部署外部组件,同时也作为服务节点部署服务。
|
||
|
||
组件机上规划有指标和日志汇聚,hudi任务多的情况下,对IO和磁盘有一定的负载要求,建议单独部署。
|
||
|
||
#### 外部资源确认
|
||
|
||
- 可用的Zookeeper集群(增删改查)
|
||
- 可用的Hadoop3集群(HDFS增删改查)
|
||
- 可用的Yarn集群(任务提交)
|
||
- 可用的应用部署主机(Kerberos、JDK)
|
||
- 部署主机到配置数据库的网络连通
|
||
- 部署主机到Pulsar集群的网络连通(admin、client连通)
|
||
- Yarn集群节点到组件机的网络连通
|
||
- Yarn集群节点到Pulsar集群的网络连通(client)
|
||
|
||
##### Hadoop配置
|
||
|
||
在`config`目录下以「hudi数据所有集群名称+hudi同步运行集群名称」的格式建立配置文件夹,如`b2b12`,并将下列配置文件放在这里
|
||
|
||
- core-site.xml
|
||
- hdfs-site.xml
|
||
- yarn-site.xml
|
||
- viewfs-mount-table.xml(如果需要使用联邦,core-site.xml也需要将引用改为相对路径引用)
|
||
|
||
#### 外部组件部署
|
||
|
||
##### Victoria Metrics
|
||
|
||
##### Loki
|
||
|
||
##### Grafana
|
||
|
||
#### 部署配置
|
||
|
||
以`service-cli/service-cli-runner/src/main/resources/application-b12.yml`为模版,补全应用部署信息
|
||
|
||
以`service-web/src/main/resources/static/common/info.js#commonInfo`为模板,补全web页面相关信息
|
||
|
||
## 运维
|
||
|
||
## 模块
|
||
|
||
模块主要分为三部分,包含 Hudi 运行代码、运维服务和部署工具。
|
||
|
||
### Hudi 运行代码
|
||
|
||
#### sync
|
||
|
||
sync 模块包含 Hudi 运行的全部业务逻辑,Hudi on flink 的运行模式为
|
||
|
||
### 运维服务
|
||
|
||
### 部署工具
|
||
|
||
## 开发
|