docs: 补充文档和配置注释

This commit is contained in:
v-zhangjc9
2024-03-06 14:02:44 +08:00
parent c038664567
commit 90b393277a
3 changed files with 80 additions and 11 deletions

View File

@@ -1,13 +1,60 @@
# Hudi Service
围绕 Hudi 同步和压缩流程建立了一整套的工具和流程。
围绕Hudi同步和压缩流程建立了一整套的工具和流程。
*如果使用IDEA查看项目可以安装Mermaid插件查看相关流程图。*
## 部署
```mermaid
graph LR
a --> b
```
> 由于部份配置需要在源码增删,无法通过配置文件修改,**如果部署新集群建议对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页面相关信息
## 运维
## 模块
@@ -23,8 +70,4 @@ sync 模块包含 Hudi 运行的全部业务逻辑Hudi on flink 的运行模
### 部署工具
## 部署
## 运维
## 开发

View File

@@ -1,35 +1,56 @@
deploy:
runtime:
# 应用部署主机用户
user: datalake
# 应用jar包
jar-path: /data/datalake/jars
# 主机jdk
jdk-path: /opt/jdk8u252-b09/bin/java
# 应用日志
log-path: /data/datalake/logs
# 应用配置
conf-path: /data/datalake/conf
# 应用数据
data-path: /data/datalake/data
# service-uploader模块提供的下载地址
download-url: http://AxhEbscwsJDbYMH2:cYxg3b4PtWoVD5SjFayWxtnSVsjzRsg4@132.126.207.124:36800/file/download
# kerberos keytab文件
kerberos-keytab-path: /etc/security/keytabs/datalake.app.keytab
# 服务日志和hudi日志对应的loki服务
loki:
service-url: http://132.126.207.125:33100
service-push-url: ${deploy.runtime.loki.service-url}/loki/api/v1/push
hudi-url: http://132.126.207.126:33100
hudi-push-url: ${deploy.runtime.loki.hudi-url}/loki/api/v1/push
# 服务zookeeper
zk-url: b1m2.hdp.dc:2181,b1m3.hdp.dc:2181,b1m4.hdp.dc:2181,b1m5.hdp.dc:2181,b1m6.hdp.dc:2181
# hudi zookeeper通常和服务zookeeper共用
connector-zk-url: b1m2.hdp.dc:2181,b1m3.hdp.dc:2181,b1m4.hdp.dc:2181,b1m5.hdp.dc:2181,b1m6.hdp.dc:2181
hudi:
# hudi业务jar包所在目录
app-hdfs-path: hdfs://b2/apps/datalake/jars/app-b12
# hudi指标推送
victoria-push-url: http://132.126.207.125:35710/api/v1/import/prometheus
loki-push-url: ${deploy.runtime.loki.hudi-push-url}
executor:
# task业务jar包所在目录
task-jar-path: hdfs://b2/apps/datalake/jars/service
# task结果存放目录
task-result-path: hdfs://b2/apps/datalake/task-results
# spring security配置
security:
authority: ENC(GXKnbq1LS11U2HaONspvH+D/TkIx13aWTaokdkzaF7HSvq6Z0Rv1+JUWFnYopVXu)
username: ENC(moIO5mO39V1Z+RDwROK9JXY4GfM8ZjDgM6Si7wRZ1MPVjbhTpmLz3lz28rAiw7c2LeCmizfJzHkEXIwGlB280g==)
darkcode: ENC(0jzpQ7T6S+P7bZrENgYsUoLhlqGvw7DA2MN3BRqEOwq7plhtg72vuuiPQNnr3DaYz0CpyTvxInhpx11W3VZ1trD6NINh7O3LN70ZqO5pWXk=)
# hudi运行集群集群名称需要和代码里定义的名称一致
yarn:
# hudi表数据存放集群
store-cluster: b2
# hudi同步运行集群
sync-clusters: b12
# hudi压缩运行集群
compaction-clusters: b12,b1,b5,a4
# 覆盖service的公共配置主要需要修改的就是部署副本数
services:
service-api:
replicas: 10
@@ -53,6 +74,7 @@ deploy:
replicas: 10
service-flink-query:
replicas: 10
# 全部部署主机的域名和ip信息key值必须按"[xxx]"这种方式写spring boot旧版的历史遗留bug
hosts:
"[b12s4.hdp.dc]":
ip: 132.126.207.130

View File

@@ -1,13 +1,14 @@
const commonInfo = {
// baseUrl: 'http://132.126.207.131:35690/hudi_services/service_web',
baseUrl: '/hudi_services/service_web',
clusters: {
// hudi同步运行集群和yarn队列名称
sync: {
'b12': 'default',
},
sync_names() {
return Object.keys(this.sync).join(',')
},
// hudi压缩运行集群和yarn队列名称
compaction: {
'b12': 'default',
'b1': 'datalake',
@@ -19,10 +20,13 @@ const commonInfo = {
},
},
loki: {
// grafana链接用于直接打开grafana日志查看
grafanaUrl: 'http://132.126.207.125:35700',
// grafana对应hudi使用的loki配置的datasource id
hudi: {
datasource: 'f648174e-7593-45cf-8fe8-8f8d5cf0fdde',
},
// grafana对应服务使用的loki配置的datasource id
service: {
datasource: 'b6fee51c-facd-4261-a0eb-8c69a975fba3',
}