中间件-Flink日志
Flink是一个大数据处理引擎的处理框架,是针对流进行的处理。它是Apache旗下的一个框架和分布式的处理引擎,用于对无界和有界的数据进行状态的计算。Flink的核心特点包括高吞吐、低延迟(每秒处理数百万个事件,毫秒级延迟),以及结果的准确性(Flink提供了时间事件(event-time)和处理事件(processing-time)语义)。
Flink 的系统日志通常包含了关于 Flink 运行时的各种信息,如任务执行情况、错误信息、资源使用情况等。
自建中间件功能在邀测中,支持华北-北京四局点,仅针对用户内测使用,后续将全网开放,敬请期待!
采集方法
使用ICAgent采集日志,接入前请参考安装ICAgent(区域内主机)完成ICAgent安装。然后再通过采集ECS-文本日志方式将日志上报至LTS服务,详细操作请参考云主机ECS文本日志接入LTS。
Flink日志示例以及字段含义
系统日志示例:
2023-10-23 14:35:00,000 INFO org.apache.flink.runtime.taskmanager.Task - Source: Custom Source -> Map (1/1) (83529a6b73e4a3f7046f695a27f67f32) switched from RUNNING to FINISHED. 2023-10-23 14:35:01,500 WARN org.apache.flink.runtime.checkpoint.CheckpointCoordinator - Checkpoint 1 for job 83529a6b73e4a3f7046f695a27f67f32 timed out after 60000 milliseconds. This indicates a problem with the job, as the checkpoints were not completed in time. 2023-10-23 14:35:05,000 ERROR org.apache.flink.runtime.executiongraph.ExecutionGraph - Job 83529a6b73e4a3f7046f695a27f67f32 failed.
字段 |
说明 |
示例 |
---|---|---|
时间戳 |
该条日志的生成时间。 |
2023-10-23 14:35:00,000 |
日志级别 |
该条日志的重要性或紧急程度,常见的级别有INFO、WARN、ERROR等。 |
INFO |
日志来源 |
生成该条日志的组件或任务。 |
org.apache.flink.runtime.taskmanager.Task |
任务/作业信息 |
日志中可能包含任务或作业的相关信息,如任务名称、任务ID、作业ID等。在这个示例中,有任务名称 Source: Custom Source -> Map (1/1) 和作业ID 83529a6b73e4a3f7046f695a27f67f32。 |
- |
状态变化 |
记录任务或作业的状态变化。 |
如switched from RUNNING to FINISHED表示任务从运行状态切换到完成状态。 |
错误信息 |
如果日志级别为ERROR,则可能包含有关错误的详细信息。 |
如 Job 83529a6b73e4a3f7046f695a27f67f32 failed. 表示作业失败。 |
日志位置
- 在YARN上运行的Flink 作业:
Flink-on-YARN 模式的作业日志输出路径通常是 **$HADOOP_HOME/logs/userlogs/<APPLICATION_ID>/<CONTAINER_ID>/**。这里的 $HADOOP_HOME 是Hadoop的安装目录,<APPLICATION_ID>和<CONTAINER_ID> 是YARN分配给Flink作业的标识符。可以在yarn-site.xml配置文件中修改YARN的日志目录,通过<property><name>yarn.nodemanager.log-dirs</name><value>/your/custom/log/path</value></property>来指定。
- 独立部署的Flink集群:如果在独立模式下部署Flink集群,那么日志文件通常位于Flink安装目录下的log或logs文件夹中。如果Flink安装在/usr/local/flink,则日志文件可能位于/usr/local/flink/log 或 /usr/local/flink/logs。