diff --git a/README.md b/README.md index d60e4ee..571976a 100644 --- a/README.md +++ b/README.md @@ -1,33 +1,59 @@ + * [概述](#概述) * [部署](#部署) - * [配置准备](#配置准备) - * [主机规划](#主机规划) - * [外部资源确认](#外部资源确认) - * [Hadoop配置](#hadoop配置) - * [外部组件部署](#外部组件部署) - * [Victoria Metrics](#victoria-metrics) - * [启动脚本](#启动脚本) - * [采集配置](#采集配置) - * [Loki](#loki) - * [配置文件](#配置文件) - * [Grafana](#grafana) - * [数据源配置](#数据源配置) - * [配置数据库](#配置数据库) - * [部署配置](#部署配置) - * [接口机目录规划](#接口机目录规划) - * [脚本生成](#脚本生成) - * [启动上传服务](#启动上传服务) - * [编译打包项目](#编译打包项目) + * [配置准备](#配置准备) + * [主机规划](#主机规划) + * [外部资源确认](#外部资源确认) + * [Hadoop配置](#hadoop配置) + * [外部组件部署](#外部组件部署) + * [Victoria Metrics](#victoria-metrics) + * [启动脚本](#启动脚本) + * [采集配置](#采集配置) + * [Loki](#loki) + * [配置文件](#配置文件) + * [Grafana](#grafana) + * [数据源配置](#数据源配置) + * [配置数据库](#配置数据库) + * [部署配置](#部署配置) + * [接口机目录规划](#接口机目录规划) + * [脚本生成](#脚本生成) + * [启动上传服务](#启动上传服务) + * [编译打包项目](#编译打包项目) * [运维](#运维) - * [命令行](#命令行) - * [Web](#web) + * [命令行](#命令行) + * [Web](#web) + * [概览](#概览) + * [表任务](#表任务) + * [Flink任务详情](#flink任务详情) + * [表任务详情](#表任务详情) + * [同步情况](#同步情况) + * [压缩情况](#压缩情况) + * [历史压缩](#历史压缩) + * [时间线](#时间线) + * [Pulsar队列](#pulsar队列) + * [Hudi表结构](#hudi表结构) + * [压缩队列](#压缩队列) + * [跨天](#跨天) + * [同步集群](#同步集群) + * [压缩集群](#压缩集群) + * [Cloud](#cloud) + * [小工具](#小工具) + * [查询时间线](#查询时间线) + * [提交压缩任务](#提交压缩任务) + * [批量提交压缩任务](#批量提交压缩任务) + * [停止所有压缩任务](#停止所有压缩任务) + * [离线检索](#离线检索) + * [查询文件](#查询文件) + * [检索最后操作时间](#检索最后操作时间) + * [HDFS](#hdfs) * [模块](#模块) - * [Hudi 运行代码](#hudi-运行代码) - * [sync](#sync) - * [运维服务](#运维服务) - * [部署工具](#部署工具) + * [Hudi 运行代码](#hudi-运行代码) + * [sync](#sync) + * [运维服务](#运维服务) + * [部署工具](#部署工具) * [开发](#开发) + # 概述 @@ -336,10 +362,124 @@ uploader # 运维 +应用提供三部分运维方案: + +- **命令行**:提供命令行操作,包括同步的启动、停止等,在Web无法使用的情况下做一些简单运维操作; +- **Web**:提供表信息、运行总览等,完成常见的运维操作; +- **HDFS**:在上述手段出现问题,或无法操作的情况下,直接访问HDFS查看hudi表相关的状态。 + ## 命令行 ## Web +### 概览 + +概览页面可以看到应用的主要运行情况,从上到下分别有: + +- 表数量 + - 逻辑表(根据上游源表名去重得到) + - 湖底表(根据目标hudi表路径去重得到) + - 嗨福表(根据hive表名去重得到) +- Flink运行同步任务数量 + - flink任务数 + - flink任务下对应表总数 +- hudi同步集群情况 +- hudi压缩集群情况 +- 跨天情况 + - 重点表跨天情况 + - 普通表跨天情况 +- 压缩调度定时策略 + +![](assets/hudi_web_override.png) + +### 表任务 + +可以按表级别查询到相关配置、运行、周边信息,完成常见的表运维跟踪。 + +![](assets/hudi_web_tables.png) + +#### Flink任务详情 + +点击`Flink job id`项目可以打开Flink任务详情页面。 + +![](assets/hudi_web_flink_job_detail.png) + +#### 表任务详情 + +点击`别名`项目可以打开表任务详情页面,在这个页面主要可以查看表本身的配置信息,尤其是字段信息。 + +![](assets/hudi_web_table_meta_detail.png) + +##### 同步情况 + +查看Flink同步任务的详情和历史情况,方便直接跳转日志查看。 + +![](assets/hudi_web_table_meta_detail_sync.png) + +##### 压缩情况 + +查看Flink同步任务的详情和历史情况,方便直接跳转日志查看;由于压缩任务运行在多集群,历史任务保留多久,会受到各个集群任务量、配置的限制,如果超出集群保留任务列表的限制(比如b1集群任务列表整个集群最后10000条),就会在这里查询不到,在使用的时候需要注意这一点。 + +![](assets/hudi_web_flink_job_detail_compaction.png) + +##### 历史压缩 + +记录在数据库中的历史压缩情况,由各个服务端维护,方便查询历史压缩情况,不受集群保留历史任务限制。 + +![](assets/hudi_web_flink_job_detail_compaction_history.png) + +##### 时间线 + +查询实时hudi表时间线,可以更清晰地看到压缩情况和同步情况,对于查询压缩任务启停时间点,以及压缩任务包含文件数,非常有帮助。 + +![](assets/hudi_web_flink_job_detail_timeline.png) + +##### Pulsar队列 + +![](assets/hudi_web_table_meta_detail_pulsar.png) + +##### Hudi表结构 + +![](assets/hudi_web_table_meta_detail_struct.png) + +### 压缩队列 + +![](assets/hudi_web_queue.png) + +### 跨天 + +![](assets/hudi_web_version.png) + +### 同步集群 + +![](assets/hudi_web_sync.png) + +### 压缩集群 + +![](assets/hudi_web_compaction.png) + +### Cloud + +![](assets/hudi_web_cloud_service.png) + +### 小工具 + +#### 查询时间线 + +#### 提交压缩任务 + +#### 批量提交压缩任务 + +#### 停止所有压缩任务 + +### 离线检索 + +#### 查询文件 + +#### 检索最后操作时间 + +## HDFS + # 模块 模块主要分为三部分,包含 Hudi 运行代码、运维服务和部署工具。 diff --git a/assets/grafana_datasource.png b/assets/grafana_datasource.png index 812d6cc..69f2d53 100644 Binary files a/assets/grafana_datasource.png and b/assets/grafana_datasource.png differ diff --git a/assets/hudi_web_cloud_service.png b/assets/hudi_web_cloud_service.png new file mode 100644 index 0000000..e61f46a Binary files /dev/null and b/assets/hudi_web_cloud_service.png differ diff --git a/assets/hudi_web_compaction.png b/assets/hudi_web_compaction.png new file mode 100644 index 0000000..77b19c9 Binary files /dev/null and b/assets/hudi_web_compaction.png differ diff --git a/assets/hudi_web_flink_job_detail.png b/assets/hudi_web_flink_job_detail.png new file mode 100644 index 0000000..c802f50 Binary files /dev/null and b/assets/hudi_web_flink_job_detail.png differ diff --git a/assets/hudi_web_flink_job_detail_compaction.png b/assets/hudi_web_flink_job_detail_compaction.png new file mode 100644 index 0000000..dfbe37d Binary files /dev/null and b/assets/hudi_web_flink_job_detail_compaction.png differ diff --git a/assets/hudi_web_flink_job_detail_compaction_history.png b/assets/hudi_web_flink_job_detail_compaction_history.png new file mode 100644 index 0000000..0c78518 Binary files /dev/null and b/assets/hudi_web_flink_job_detail_compaction_history.png differ diff --git a/assets/hudi_web_flink_job_detail_timeline.png b/assets/hudi_web_flink_job_detail_timeline.png new file mode 100644 index 0000000..e7846e2 Binary files /dev/null and b/assets/hudi_web_flink_job_detail_timeline.png differ diff --git a/assets/hudi_web_override.png b/assets/hudi_web_override.png new file mode 100644 index 0000000..17cc406 Binary files /dev/null and b/assets/hudi_web_override.png differ diff --git a/assets/hudi_web_queue.png b/assets/hudi_web_queue.png new file mode 100644 index 0000000..c0f83d1 Binary files /dev/null and b/assets/hudi_web_queue.png differ diff --git a/assets/hudi_web_sync.png b/assets/hudi_web_sync.png new file mode 100644 index 0000000..70407a4 Binary files /dev/null and b/assets/hudi_web_sync.png differ diff --git a/assets/hudi_web_table_meta_detail.png b/assets/hudi_web_table_meta_detail.png new file mode 100644 index 0000000..4ead9ab Binary files /dev/null and b/assets/hudi_web_table_meta_detail.png differ diff --git a/assets/hudi_web_table_meta_detail_pulsar.png b/assets/hudi_web_table_meta_detail_pulsar.png new file mode 100644 index 0000000..58ee28f Binary files /dev/null and b/assets/hudi_web_table_meta_detail_pulsar.png differ diff --git a/assets/hudi_web_table_meta_detail_struct.png b/assets/hudi_web_table_meta_detail_struct.png new file mode 100644 index 0000000..56d8916 Binary files /dev/null and b/assets/hudi_web_table_meta_detail_struct.png differ diff --git a/assets/hudi_web_table_meta_detail_sync.png b/assets/hudi_web_table_meta_detail_sync.png new file mode 100644 index 0000000..4d3d95f Binary files /dev/null and b/assets/hudi_web_table_meta_detail_sync.png differ diff --git a/assets/hudi_web_tables.png b/assets/hudi_web_tables.png new file mode 100644 index 0000000..2d029b2 Binary files /dev/null and b/assets/hudi_web_tables.png differ diff --git a/assets/hudi_web_version.png b/assets/hudi_web_version.png new file mode 100644 index 0000000..5a0eda1 Binary files /dev/null and b/assets/hudi_web_version.png differ diff --git a/assets/victoria_metrics_web.png b/assets/victoria_metrics_web.png index 743cbd9..eee7dbc 100644 Binary files a/assets/victoria_metrics_web.png and b/assets/victoria_metrics_web.png differ