Flink2.0 配置 historyserver

发布于:2025-06-26 ⋅ 阅读:(15) ⋅ 点赞:(0)

Flink2.0 配置 historyserver 主要是去修改config.yaml配置文件 主要修改的点有两个 网上很多文档都是写的只配置一个 都是坑啊

historyserver :历史服务器
运行 Flink job 的集群一旦停止(例如yarn模式,程序一旦停止,集群也就关闭了),只能去 yarn 或本地磁盘上查看日志,不再可以查看作业挂掉之前的运行的 Web UI,很难清楚知道作业在挂的那一刻到底发生了什么。如果我们还没有 Metrics 监控的话,那么完全就只能通过日志去分析和定位问题了,所以如果能还原之前的 Web UI,我们可以通过 UI 发现和定位一些问题。

Flink提供了历史服务器,用来在相应的 Flink 集群关闭后查询已完成作业的统计信息。我们都知道只有当作业处于运行中的状态,才能够查看到相关的WebUI统计信息。通过 History Server 我们才能查询这些已完成作业的统计信息,无论是正常退出还是异常退出。

1:

jobmanager:
  # interface, such as 0.0.0.0.
  bind-host: 0.0.0.0
  rpc:
    # JobManager runs.
    address: cdh1
    # The RPC port where the JobManager is reachable.
    port: 6123
  memory:
    process:
      # The total process memory size for the JobManager.
      # Note this accounts for all memory usage within the JobManager process, including JVM metaspace and other overhead.
      size: 1600m
  execution:
    failover-strategy: region
  archive:
    fs:
      dir: hdfs://cdh1:8020/flink-2.0/completed-jobs // 这个必须配置

2:

historyserver:
  web:
    # The address under which the web-based HistoryServer listens.
    address: 0.0.0.0
    # The port under which the web-based HistoryServer listens.
    port: 8082
  archive:
    fs:
      # Comma separated list of directories to monitor for completed jobs.
      dir: hdfs://cdh1:8020/flink-2.0/completed-jobs
      # Interval in milliseconds for refreshing the monitored directories.
      fs.refresh-interval: 10000

总结:

1:jobmanager.archive.fs.dir: hdfs://cdh1:8020/flink-2.0/completed-jobs

2:historyserver.web.address: cdh1
2:historyserver.web.port: 8082
2:historyserver.archive.fs.dir: hdfs://cdh1:8020/flink-2.0/completed-jobs
2:historyserver.archive.fs.refresh-interval: 1000
./historyserver.sh start

1. jobmanager.archive.fs.dir: hdfs://cdh1:8020/flink-2.0/completed-jobs

含义: 这个参数指定了JobManager用于存储作业完成后的归档日志的HDFS目录。当Flink作业完成后,其日志和状态信息会被归档到这个指定的HDFS路径下,以便后续的分析和审计。

用途:

  • 日志归档:确保作业执行后的日志和状态信息不会立即被删除,而是被安全地存储在HDFS上。
  • 审计和调试:在需要时,可以从HDFS上检索这些归档的日志,用于审计作业的执行情况或调试问题。

2. historyserver.web.address: cdh1

含义: 这个参数指定了Flink HistoryServer绑定的主机名或IP地址。HistoryServer是一个Web服务,用于展示Flink作业的历史记录,包括作业的图、状态、持续时间等信息。

用途:

  • 访问HistoryServer:用户可以通过浏览器访问这个地址(通常是http://:),来查看Flink作业的历史记录。
  • 作业监控:方便用户监控和分析作业的执行情况,包括作业的成功、失败、重启等信息。

3. historyserver.web.port: 8082

含义: 这个参数指定了Flink HistoryServer监听的端口号。用户需要通过这个端口来访问HistoryServer提供的Web服务。

用途:

  • Web服务端口:确保HistoryServer能够在一个特定的端口上监听HTTP请求,从而提供Web界面供用户访问。
  • 配置防火墙和安全组:在配置网络防火墙或安全组时,需要确保这个端口是开放的,以便外部用户能够访问HistoryServer。

4. historyserver.archive.fs.dir: hdfs://cdh1:8020/flink-2.0/completed-jobs

含义: 这个参数与jobmanager.archive.fs.dir类似,但它专门用于HistoryServer。它指定了HistoryServer用于读取作业归档日志的HDFS目录。HistoryServer会从这个目录中读取作业的历史记录,并在Web界面上展示。

用途:

  • 历史记录读取:确保HistoryServer能够找到并读取作业的历史记录,以便在Web界面上展示给用户。
  • 数据一致性:确保JobManager和HistoryServer使用相同的HDFS目录来存储和读取作业的历史记录,以保持数据的一致性

5. historyserver.archive.fs.refresh-interval: 1000

含义:这个参数指定了HistoryServer刷新HDFS上作业归档日志的间隔时间(以毫秒为单位)。在这个时间间隔内,HistoryServer会定期检查HDFS上的归档日志目录,以获取最新的作业历史记录。

用途:

  • 实时性:确保HistoryServer能够及时地获取到最新的作业历史记录,并在Web界面上展示给用户。
  • 性能调优:通过调整这个参数,可以在实时性和系统性能之间找到一个平衡点。如果设置得太短,可能会增加HDFS的访问压力;如果设置得太长,则可能导致用户无法及时看到最新的作业历史记录。
    在这里插入图片描述
    在这里插入图片描述

具体日志可以去这两个文件查看 flink/log下

 flink-root-historyserver-0-cdh1.log
 flink-root-historyserver-0-cdh1.out

网站公告

今日签到

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