docs: 补充文档和配置注释
This commit is contained in:
63
README.md
63
README.md
@@ -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 的运行模
|
||||
|
||||
### 部署工具
|
||||
|
||||
## 部署
|
||||
|
||||
## 运维
|
||||
|
||||
## 开发
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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',
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user