DataSophon 1.2.1集成Flink 1.20并增加JMX 监控

发布于:2025-06-27 ⋅ 阅读:(14) ⋅ 点赞:(0)

参考:datasophon集成Flink1.20.0

此大神有多篇集成其他服务的文章,建议关注一波

一、服务集成

             flink 1.20 下载

        1.构建压缩包:

        1.1拷贝需要的包
tar -zxvf flink-1.20.0-bin-scala_2.12.tgz
tar czf flink-1.20.0.tar.gz flink-1.20.0

# 为了flink cdc 与dinky 的使用,可根据自己的业务来添加
cp mysql-connector-java-8.0.28.jar flink-1.20.0/lib
cp dinky-app-1.20-1.2.3-jar-with-dependencies.jar flink-1.20.0/lib
cp flink-doris-connector-1.20-24.0.1.jar flink-1.20.0/lib
cp flink-shaded-hadoop-3-uber-3.1.1.7.2.9.0-173-9.0.jar flink-1.20.0/lib
cp flink-table-planner-loader-1.20.0.jar flink-1.20.0/lib
cp kafka-clients-3.9.0.jar flink-1.20.0/lib

        1.2 修改jobmanager.sh

        

        


vi flink-1.20.0/bin/jobmanager.sh
# 在55行 args=("--configDir" "${FLINK_CONF_DIR}" "--executionMode" "cluster" "${args[@]}")
# 添加参数改为
args=("-D" "metrics.reporter.prom.port=9250" "--configDir" "${FLINK_CONF_DIR}" "--executionMode" "cluster" "${args[@]}")
      1.3 修改taskmanager.sh

        


vi flink-1.20.0/bin/taskmanager.sh
# 在57行 args=("--configDir" "${FLINK_CONF_DIR}"  "--configDir" "${FLINK_CONF_DIR}" "${ARGS[@]}")
# 添加参数改为
ARGS=("-D" "metrics.reporter.prom.port=9251" "--configDir" "${FLINK_CONF_DIR}" "${ARGS[@]}")

2.修改service_ddl.json

具体参考 上面的参考,但要注意jmxPort,需要跟上面jobmanager.sh taskmanager.sh对应,我的是9250对应的是jobmanager,9251对用的是taskmanager

3.后面继续参考

二、服务配置

        按照参考安装Flink,在配置页面,在自定义配置flink-conf.yaml 添加两项配置

        metrics.reporters:prom

        metrics.reporter.prom.factory.class:org.apache.flink.metrics.prometheus.PrometheusReporterFactory

     这两项配置也可以修改service_ddl.json,在上面添加,后续在装其他集群时不需要手动添加这这两项配置

三、验证

        在Flink 都启动之后,在jobmanager节点上请求9250端口 是否又监控信息

        curl localhost:9250 ,如果出现信息则正常,如果不通检查是否没其他服务占用了端口

        在taskmanager 节点请求9251 curl localhost:9251

四、Prometheus 配置

  1.修改prometheus.yml 添加flink 监控

vi prometheus/prometheus.yml
# 添加配置
  - job_name: 'jobmanager'
    file_sd_configs:
     - files:
       - configs/jobmanager.json
  - job_name: 'taskmanager'
    file_sd_configs:
     - files:
       - configs/taskmanager.json

2.添加相应 的json 配置

vi prometheus/configs/jobmanager.json
# 内容hostname 为 所在的hostname
[
 {
  "targets":["hostname:9250"]
 }
]

vi prometheus/configs/taskmanager.json
# 内容
[
 {
  "targets":["hostname1:9251","hostname2:9251","hostname3:9251"]
 }
]

 重启Prometheus

访问 hostname:9090/targets 可以通过datasophon 访问

查看 

在DataSophon 主页面,点击告警组管理 -> 新建告警组

添加完成后右下角翻页找到FLINK 告警组,点击查看告警指标,新建告警指标,告警阈值一点要填1,这个是再单个节点上的监控,除非你一个节点起多个taskmanager

至此,在某个节点上kill掉taskmanger进程之后,datasophon也会通知异常,在datasophon的flink实例中对应节点也会变红


网站公告

今日签到

点亮在社区的每一天
去签到