flume消费kafka出现的问题及解决方法

一、flume消费kafka的agent数量问题

flume消费kafka到本地HDFS时不要使用太多主机和agent进程(一个agent),特别是MLTE_S6A_FS和2G数据的CITY_SHARE_GBIUPS_FS数据量比较小的topic(目前佛山集群使用5个agent进程,总共有15分partition),如果太多agent消费会导致很多小文件。s6a一个小时有20多G,属于比较少的数据量。

二、监控flume

Flume提供了jmx,ganglia,json这三种方法来监控单个agent消费的情况。这里举例说一下json 和 ganglia这两种方法。
Json reporting
可以启动一个内置的HTTPServer,用来简单观察flume运行情况,启动方法:在启动命令行上增加参数:

-Dflume.monitoring.type=http -Dflume.monitoring.port=8879

表明在8879端口上查看监控信息,该端口是可以随意指定,只要不冲突即可,如:
http://xxxx:8879/metrics
可以查看到一些性能信息,如channel的使用率,在开发测试时,可以根据它来确认file-channel要开多大。
也可以把上面的启动参数加到./conf/flume-env.sh文件的JAVA_OPTS变量上。
以下是访问结果

猜你喜欢

转载自blog.csdn.net/as4589sd/article/details/104140665