Linux Flume搭建教程

解压flume压缩包
在这里插入图片描述

然后配置系统环境变量 路径写你之前解压的位置
在这里插入图片描述
进入到flume/conf/目录下
复制一个flume副本

 cp flume-env.sh.template flume-env.sh

进入副本修改java环境
在这里插入图片描述
在这里插入图片描述
在conf目录下创建一个控制台文件

vi console.conf

在这里插入图片描述
写入配置文件信息

#定义当前agent的名字为a1,可以随意
#定义agent中的sources名字为r1
a1.sources=r1
#定义agent中的sinks组件叫做k1
a1.sinks=k1
#定义agent中的channels组价叫c1
a1.channels=c1
#分别详细设置
#source类型为网络字节流
a1.sources.r1.type=netcat
#监听的主机名
a1.sources.r1.bind=hadoop01
#监听接收数据的端口号
a1.sources.r1.port=44444
#设置类型为logger日志方式
a1.sinks.k1.type=logger	
#内存进行数据缓存
a1.channels.c1.type=memory
#定义容量
a1.channels.c1.capacity=1000
#最大事务容量
a1.channels.c1.transactionCapacity=100

a1.sources.r1.channels=c1
a1.sinks.k1.channel=c1

---------------------------------------保存至本地文件----------------------------------------
a1.sinks.k1.type=file_roll
a1.sinks.k1.sink.directory=/opt/temp
a1.sinks.k1.sink.rollinterval=0



进入 bin目录测试端口发送信息

 bin/flume-ng agent -c conf -f ..conf/console.conf(创建的文件名)
    --name a1(a1是收集器的名字) -Dflume.root.logger=INFO,console(输出到控制台)

看到44444端口代表启动成功
在这里插入图片描述
去第二台hadoop2中进行网络信息发送

先使用yum下载nc指令
yum -y insert nc

在这里插入图片描述

nc hadoop1 44444 发送信息到hadoop1中

在这里插入图片描述
**

定义监听文件的变化

**
在conf目录下创建一个file.conf文件写入内容

#定义当前agent的名字为a2,可以随意
#定义agent中的sources名字为r1
a2.sources=r1
#定义agent中的sinks组件叫做k1
a2.sinks=k1
#定义agent中的channels组价叫c1
a2.channels=c1
#分别详细设置
#source类型为网络字节流
a2.sources.r1.type=exec
a2.sources.r1.command=tail -F /opt/temp/flumetest.txt

#设置类型为logger日志方式
a2.sinks.k1.type=logger	
#内存进行数据缓存
a2.channels.c1.type=memory
#定义容量
a2.channels.c1.capacity=1000
#最大事务容量
a2.channels.c1.transactionCapacity=100

a2.sources.r1.channels=c1
a2.sinks.k1.channel=c1


修改日志的内容

a2.sinks.k1.type=file_roll
a2.sinks.k1.sink.directory=/opt/temp
a2.sinks.k1.sink.rollinterval=0

在这里插入图片描述
到/opt/temp中创建一个flumetest.txt文件随便输入点内容
到bin目录启动文件监听

flume-ng agent -c conf -f ../conf/file.conf  --name a2  -Dflume.root.logger=INFO,console

在这里插入图片描述

将监听到的内容上传到hdfs

到conf目录创建一个hdfs.conf写入配置文件

#定义当前agent的名字为a3,可以随意
#定义agent中的sources名字为r1
a3.sources=r1
#定义agent中的sinks组件叫做k1
a3.sinks=k1
#定义agent中的channels组件叫c1
a3.channels=c1
#分别详细设置
a3.sources.r1.type=exec
a3.sources.r1.command=tail -F /opt/temp/flumetest.txt

#设置类型为logger日志方式
a3.sinks.k1.type=hdfs
a3.sinks.k1.hdfs.path=hdfs://hadoop01:9000/input/flume/%y/%m
a3.sinks.k1.hdfs.filePrefix=events-
#舍弃秒单位
a3.sinks.k1.hdfs.round=true
a3.sinks.k1.hdfs.roundValue=40
a3.sinks.k1.hdfs.roundUnit=second
a3.sinks.k1.hdfs.useLocalTimeStamp=true
#中文乱码a3.sinks.k1.hdfs.fileType=DataStream
#内存进行数据缓存
a3.channels.c1.type=memory
#定义容量
a3.channels.c1.capacity=1000
#最大事务容量
a3.channels.c1.transactionCapacity=100

a3.sources.r1.channels=c1
a3.sinks.k1.channel=c1



./flume-ng agent -c conf -f ../conf/hdfs.conf --name a3 -Dflume.root.logger=INFO,console

在这里插入图片描述
在这里插入图片描述
直接读取上传的文件即可

hdfs dfs -cat /input/flume/22/01/events-.1641377558513

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值