Flume 监控器
Ganglia
Flume Channel优化
对于内存channel,在flume-env.sh中设置JVM heap为4G或更高,部署在单独的服务器上(4核8线程16G内存)
-Xmx与-Xms最好设置一致,减少内存抖动带来的性能影响,如果设置不一致容易导致频繁fullgc。
-Xms表示JVM Heap(堆内存)最小尺寸,初始分配;-Xmx 表示JVM Heap(堆内存)最大允许的尺寸,按需分配。如果不设置一致,容易在初始化时,由于内存不够,频繁触发fullgc
对于filechannel,通过配置dataDirs指向多个路径,每个路径对应不同的硬盘,增大Flume吞吐量
(官方介绍:用于存储日志文件的以逗号分隔的目录列表。在单独的磁盘上使用多个目录可以提高文件通道性能)
file管道数据安全
checkpointDir和backupCheckpointDir也尽量配置在不同硬盘对应的目录中,保证checkpoint坏掉后,可以快速使用backupCheckpointDir恢复数据
sink落地避免小文件产生
##三个字段是配置文件滚动的阈值(文件滚动:也就是flume关闭当前文件,然后生成一个新文件继续写入),只要达到以上三个条件中的任意一个,就触发文件滚动
## 7200秒回滚一次文件,hdfs.rollInterval参数单位是秒
# 设置0秒,关闭按照时间滚动条件
a1.sinks.ctp_info_ali_z02_sx_sk.hdfs.rollInterval = 0
#hdfs.rollSize=128*1024*1024 hdfs.rollSize参数单位是字节
a1.sinks.ctp_info_ali_z02_sx_sk.hdfs.rollSize = 134217728
a1.sinks.ctp_info_ali_z02_sx_sk.hdfs.rollCount = 0
#持续1800秒没数据写入则关闭文件。以参数时间为例,那么tmp文件最晚的关闭时间约是0点30分附件,load 文件落入hive表的调度任务应该在0点30分之后 大概设置1点开始
a1.sinks.ctp_info_ali_z02_sx_sk.hdfs.idleTimeout = 1800