我发现任务失败后,到处找不到这个目录原本存在的taskmanager.err .log .out相关的日志了,不知道跑到哪里去了.我的hadoop3.14,flink1.12.1,有知道的小伙伴吗,求解
yarn
容器退出之后,默认是不保存
日志
的。所以需要开启JobHistoryServer. 无论
Flink
还是Spark都支持自建集群(standalone cluster)。但是为了保证稳定性和资源隔离等,生产环境里的任务最好借助资源管理框架(如
Yarn
)运行。
任务运行在
yarn
上,查询
日志
就可能不是很方便,尤其是任务进程异常退出之后。
..................
上文说到为什么使用
Flink
实时消费阿里云
日志
服务SLS的数据,并把阿里云上
Flink
消费SLS的代码粘贴到本地,做了相关修改之后成功把整个流程跑通了。但仅仅这样是不够的,从控制台上面输出的数据来看是个比较难看的字符串,可以说没多大用处。因此本文主要是继续使用
Flink
来对从
日志
服务SLS过来的数据做一系列的清洗,然后再计算几个工作中的指标。
相关ETL代码如下,就是把需要使用到的各个字段提取出...
2022-03-21 11:44:29,859 INFO io.debezium.jdbc.JdbcConnection [] - Connection gracefully closed
2022-03-21 11:44:29,859 INFO io.debezium.connector.mysql.MySqlConnectorTask [] - Connector task finished all .
在
flink
on
yarn
集群监控中,可以通过在
yarn
上配置多个application group来实现多集群监控,使得不同的
flink
应用可以使用不同的资源队列,从而更加灵活地进行资源分配。同时,可以通过设置
flink
配置文件里的rest.port属性为不同的端口号,并在多个
flink
集群中分别配置,从而实现对不同集群的监控。
对于多集群监控数据的采集和汇总,可以使用
flink
的Metrics系统和Prometheus监控系统。在Metrics系统中,可以通过配置
flink
.metrics.reporters属性和
flink
.metrics.reporter.X.*属性来实现对多集群监控指标的采集和上报,支持以不同的格式上报数据。而在Prometheus监控系统中,则需要在每个
flink
集群中启动一个Prometheus监控客户端,并设定不同的端口号,从而实现对多集群的指标收集和汇总。
除了采集和汇总监控数据之外,
flink
on
yarn
集群监控还需要注意对不同集群的
日志
记录和异常报告。可以通过
flink
配置文件里的
log
4j.appender.application.layout.ConversionPattern属性来分别设定不同
flink
集群的
日志
记录格式和目标;同时,为了对多集群的异常情况进行实时监控,可以开启
flink
的容错机制和
自动
重启功能,从而保证不同应用和集群的稳定性和可靠性。