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的数据时,可能已经是第二天了,


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部