目录
1 flume 写 HDFS,如何解决数据漂移
flume传输以event作为传输单位,event由header和body组成。
数据生成时往往带有时间戳ts,通过拦截器将body中的ts时间戳,写入header中timestamp,这样HDFS Sink在落盘的时候可以按照timestamps来落盘。
2 flume 写 HDFS,12个小时滚动一次是怎么实现
HDFS Sink中配置path时有 %Y-%m-%d,实现每天滚动一个文件。
round.unit = hour hour / minute / second
round.value = 12
加上这两个参数配置之后,%t 就会生效,path的路径 %Y-%m-%d/%t,可以实现12个小时滚动一个文件夹。
3 flume 写 HDFS,小文件问题
配置文件中加入
hdfs.rollInterval = 1000(时间s)
hdfs.rollSize = 128M(大小)
hdfs.rollCount = 0(0表示禁用,event数量)
rollInterval最大不能超过30分钟