大数据项目之电商数仓、实时数仓同步数据、离线数仓同步数据、用户行为数据同步、日志消费Flume配置实操、日志消费Flume测试、日志消费Flume启停脚本

Flume日志同步实践
本文介绍如何使用Flume从Kafka同步用户行为日志到HDFS,并详细讲解配置优化、自定义拦截器及脚本化管理的过程。

8. 实时数仓同步数据

  实时数仓由Flink源源不断从Kafka当中读数据计算,所以不需要手动同步数据到实时数仓。

9. 离线数仓同步数据

9.1 用户行为数据同步

9.1.1 数据通道

  用户行为数据由Flume从Kafka直接同步到HDFS,由于离线数仓采用Hive的分区表按天统计,所以目标路径要包含一层日期。具体数据流向如下图所示。

9.1.1.1 用户行为数据通道

在这里插入图片描述

9.1.2 日志消费Flume配置概述

  按照规划,该Flume需将Kafka中topic_log的数据发往HDFS。并且对每天产生的用户行为日志进行区分,将不同天的数据发往HDFS不同天的路径。
此处选择KafkaSource、FileChannel、HDFSSink。
关键配置如下:

9.1.2.1 日志消费Flume关键配置

在这里插入图片描述

9.1.3 日志消费Flume配置实操

9.1.3.1 创建Flume配置文件

在这里插入图片描述
先将里面的文件删除。

9.1.3.2 配置文件内容如下
# 定义组件
a1.sources=r1
a1.channels=c1
a1.sinks=k1


# 配置source1
# 连接Kafka集群
a1.sources.r1.type = org.apache.flume.source.kafka.KafkaSource
a1.sources.r1.kafka.bootstrap.servers = hadoop102:9092,hadoop103:9092  
# 消费者从topic_log读数据
a1.sources.r1.kafka.topics = topic_log 
# 给消费者设置一个唯一标识,也就是消费者组ID,建议配置和业务一样的,如果用默认的,有多个消费者,则会有的消费者可以消费到数据,有些消费者消费不了数据
a1.sources.r1.kafka.consumer.group.id = topic_log 
# 一次最大传输多少数据,数据满了就传输
a1.sources.r1.batchSize = 2000   
# 多久传输一次,时间到了就传输,不管数据到2000了没有,时间一到就开始传输数据。
a1.sources.r1.batchDurationMillis = 1000
# 拦截器
a1.sources.r1.interceptors = i1
a1.sources.r1.interceptors.i1.type = com.summer.gmall.flume.interceptor.TimestampInterceptor$Builder


# 配置channel
a1.channels.c1.type = file
# 这个是Flume的第一次备份路径
a1.channels.c1.checkpointDir = /opt/module/flume-1.9.0/checkpoint/behavior1  
# 打开二次Flume的二次备份,一般情况这个都是关闭状态,要是想打开的话改为true即可,然后配置backupCheckpointDir 的路径,这个路径要和第一次的路径放在不同的磁盘上
a1.channels.c1.useDualCheckpoints = false
# 这个是Flume的第二次备份路径
# a1.channels.c1.backupCheckpointDir = /opt/module/flume-1.9.0/checkpoint/behavior2
# 是flume的多目录存储,可以将服务器存在多个磁盘上,目前我只有一个磁盘,因此只能配置一个磁盘。和Hadoop的datadirs是一个意思。 
 a1.channels.c1.dataDirs = /opt/module/flume-1.9.0/data/behavior1  
 # file channel写入文件,这个文件最大可以容纳2G内容
 a1.channels.c1.maxF
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Redamancy_06

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值