# 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 的运行模式为 ### 运维服务 ### 部署工具 ## 开发