(09)数仓-采集日志flume(写入kafka)

(1)flume

(2)flume安装

资源分配

(3)flume组件选型

1 Taildir Source 相比 Exec Source Spooling Directory Source 的优势
TailDir Source :断点续传、多目录。 Flume1.6 以前需要自己自定义 Source 记录每次读
取文件位置,实现断点续传。
Exec Source 可以实时搜集数据,但是在 Flume 不运行或者 Shell 命令出错的情况下,数
据将会丢失。
Spooling Directory Source 监控目录,支持断点续传。
2 batchSize 大小如何设置?
答: Event 1K 左右时, 500-1000 合适(默认为 100
2 Channel
采用 Kafka Channel ,省去了 Sink ,提高了效率。 KafkaChannel 数据存储在 Kafka 里面,
所以数据是存储在磁盘中。
注意在 Flume1.7 以前, Kafka Channel 很少有人使用,因为发现 parseAsFlumeEvent 这个
配置起不了作用。也就是无论 parseAsFlumeEvent 配置为 true 还是 false ,都会转为 Flume
Event 。这样的话,造成的结果是,会始终都把 Flume headers 中的信息混合着内容一起写
Kafka 的消息中,这显然不是我所需要的,我只是需要把内容写入即可。
(4)日志采集Flume配置
1 Flume 配置分析
Flume 直接读 log 日志的数据, log 日志的格式是 app.yyyy-mm-dd.log
2 Flume 的具体配置如下:
1 )在 /opt/module/flume/conf 目录下创建 file-flume-kafka.conf 文件
[atguigu@hadoop102 conf]$ vim file-flume-kafka.conf
在文件配置如下内容
注意: com.atguigu.flume.interceptor.ETLInterceptor 是自定义的拦截器的全类名。需要根据用户自定义的拦截器做相应修改。
(5)Flume拦截器
1)创建Maven 工程 flume-interceptor
2 )创建包名: com.atguigu.flume.interceptor
3 )在 pom.xml 文件中添加如下配置
4 )在 com.atguigu.flume.interceptor 包下创建 JSONUtils
5 )在 com.atguigu.flume.interceptor 包下创建 LogInterceptor
6 )打包
7 )需要先将打好的包放入到 hadoop102 /opt/module/flume/lib 文件夹下面。
 
8 )分发 Flume hadoop103 hadoop104
[atguigu@hadoop102 module]$ xsync flume/
9 )分别在 hadoop102 hadoop103 上启动 Flume
10) 日志采集 Flume 启动停止脚本
1 )在 /home/atguigu/bin 目录下创建脚本 f1.sh
[atguigu@hadoop102 bin]$ vim f1.sh
在脚本中填写如下内容
说明 1 nohup ,该命令可以在你退出帐户 / 关闭终端之后 继续运行相应的进程 nohup
是不挂起的意思, 不挂断地运行命令
说明 2 awk 默认分隔符为空格
说明 3 xargs 表示取出前面命令运行的结果,作为后面命令的输入参数。
2 )增加脚本执行权限
[atguigu@hadoop102 bin]$ chmod u+x f1.sh
3 f1 集群启动脚本
[atguigu@hadoop102 module]$ f1.sh start
4 f1 集群停止脚本
[atguigu@hadoop102 module]$ f1.sh stop
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

大数据开发工程师-宋权

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

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

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

打赏作者

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

抵扣说明:

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

余额充值