1.离线数仓—行为日志采集
数据采集模块—行为日志采集
- 用户行为日志采集
- 一、架构图
- 二、Kafka—Flume—HDFS规划
- 1.Flume规划
- 2.Source选型
- 3.Channel选型
- 4.Sink选型
- 5.Flume-HDFS配置规划
- 三、零点漂移问题
- 1.产生原因
- 2.解决思路
- 3.实现代码
- 四、Kafka-Flume-HDFS具体实现
- 1.配置文件实现
- 2.启动运行
- 五、一些需要注意的地方:
- 1.整体流程的选择
- 六、总结
- 5.File Channel优化
- 6.HDFS sink小文件处理
用户行为日志采集
这里接着上一部分,具体说明如何实现kafka到HDFS这一步骤。
一、架构图

kafka到HDFS这一部分对应整体架构图中的上图部分。
二、Kafka—Flume—HDFS规划
这里说明如何实现从Kafka读取数据通过Flume传输数据到HDFS中。
1.Flume规划
hadoop102:不做处理
hadoop103:不做处理
hadoop104:Flume(作为消费者,从Kafka中读取数据)
2.Source选型
这里是从Kafka中读取数据,因此从原则上来说可以使用kafka channel中的无source有sink的类型,但是这里需要实现一个拦截器,因此必须要有source,因此这里不能使用kafka channle,这里的source选用kafka source
3.Channel选型
这里为了保障数据的安全性,采用File Channel
4.Sink选型
这里是要将数据传输到HDFS中,因此需要使用HDFS sink
5.Flume-HDFS配置规划
1.设计架构

消费Flume配置关键点:

数据流程:Kafka中topic_log里的数据通过Kafka Source传输到File Channel,然后经过HDFS sink将数据存放到HDFS中。其中source和channel中间实现一个时间拦截器,解决零点漂移问题。
三、零点漂移问题
1.产生原因
在将Flume里的数据传输到HDFS里时,Flume默认会使用Linux系统时间作为输出到HDFS路径的时间,如果日志时间是23:59分,那么Flume消费kafka的数据时,可能已经是第二天了,
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
