在yarn集群中,flink日志输出到kafka
·
使用的是log4j的方式,因为需要对log做收集处理,方便后续排查问题和告警, 其实在spark中更加的有用, 正常在yarn-cluster中,spark是没法去查看log, 只有等到这个job停掉后, 再去使用yarn logs -applicationId application_1537843504301_3763 查看日志
在我们的项目中不用加任何的jar包
修改flink-1.9.0/conf/log4j.properties配置文件, 如下添加输出到kakfa
log4j.rootLogger=WARN,kafka,RFA
# Uncomment this if you want to _only_ change Flink's logging
log4j.logger.org.apache.flink=WARN,kafka,RFA
# change the log levels here.
log4j.logger.akka=WARN,kafka,RFA
log4j.logger.org.apache.kafka=WARN,kafka,RFA
log4j.logger.org.apache.hadoop=WARN,kafka,RFA
log4j.logger.org.apache.zookeeper=WARN,kafka,RFA
org.apache.flink.runtime.checkpoint.CheckpointCoordinator=WARN,kafka,RFA
log4j.appender.RFA=org.apache.log4j.RollingFileAppender
log4j.appender.RFA.File=${log.file}
log4j.appender.RFA.MaxFileSize=64MB
log4j.appender.RFA.Append=true log4j.appender.RFA.MaxBackupIndex=10
log4j.appender.RFA.layout=org.apache.log4j.PatternLayout
log4j.appender.RFA.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %t %-5p %-60c %x - %m%n
#####################################################
# 输出的日志写入kafka
#####################################################
#输出日志到kafka
log4j.appender.kafka=org.apache.kafka.log4jappender.KafkaLog4jAppender
#设置topic
log4j.appender.kafka.topic=log_topic
#设置kafka连接地址
log4j.appender.kafka.brokerList=fdc01:9092,fdc02:9092,fdc03:9092
log4j.appender.kafka.compressionType=none
log4j.appender.kafka.requiredNumAcks=0
#设置是否异步
log4j.appender.kafka.syncSend=false
log4j.appender.kafka.layout=org.apache.log4j.PatternLayout
log4j.appender.kafka.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %t %-5p %-60c %x - %m%n
# Suppress the irrelevant (wrong) warnings from the Netty channel handler
log4j.logger.org.apache.flink.shaded.akka.org.jboss.netty.channel.DefaultChannelPipeline=ERROR
需要在flink-1.9.0/lib 中加两个jar 包
kafka-clients-1.0.1.jar
kafka-log4j-appender-1.0.1.jar

下载这两个jar包的方式
在pom.xml 里加如下:
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>1.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-log4j-appender</artifactId>
<version>1.0.1</version>
</dependency>
找到生成的jar 导入到服务器的flink-1.9.0/lib目录下, 完成。

问题: flink 日志无法输出到kafka
在实践操作的过程中, 刚开始一直无法把flink日志输出到kafka, 后来改了一个配置才可以, 花了我将近一天的时间
原先的配置
log4j.rootLogger=WARN,RFA,kafka
最新的配置
log4j.rootLogger=WARN,kafka,RFA
把位置顺序更改了之后就好了
注释:RFA 是yarn集群中flink日志,如下
启动新的job之后, 我们看到的结果如下:
flink日志

日志输出到kafka
更多推荐
所有评论(0)