目录
前提条件
下载Flume
解压
设置环境变量
修改日志文件
测试Flume
在node2安装Flume
前提条件
-
Linux安装好jdk
-
Flume一般需要配合Hadoop使用,安装好Hadoop完全分布式集群,可参考:openEuler24.03 LTS下安装Hadoop3完全分布式
下载Flume
浏览器访问如下地址下载Flume安装包
https://archive.apache.org/dist/flume/1.10.1/apache-flume-1.10.1-bin.tar.gz
将安装包上传到Linux /opt/software目录
[liang@node2 bin]$ cd /opt/software/ [liang@node2 software]$ ls | grep flume apache-flume-1.10.1-bin.tar.gz
解压
解压
[liang@node2 software]$ tar -zxvf apache-flume-1.10.1-bin.tar.gz -C /opt/module/
重命名
[liang@node2 software]$ cd /opt/module/ [liang@node2 module]$ ls | grep flume apache-flume-1.10.1-bin [liang@node2 module]$ mv apache-flume-1.10.1-bin flume-1.10.1
设置环境变量
设置环境变量
[liang@node2 module]$ sudo vim /etc/profile.d/my_env.sh
添加内容
#FLUME_HOME
export FLUME_HOME=/opt/module/flume-1.10.1
export PATH=$PATH:$FLUME_HOME/bin
让环境变量生效
[liang@node2 module]$ source /etc/profile
修改日志文件
可选步骤
[liang@node2 flume-1.10.1]$ cd $FLUME_HOME/conf/ [liang@node2 conf]$ ls flume-conf.properties.template flume-env.ps1.template flume-env.sh.template log4j2.xml [liang@node2 conf]$ vim log4j2.xml
找到<Property name="LOG_DIR">.</Property>
修改为
<Property name="LOG_DIR">/opt/module/flume-1.10.1/log</Property>
在<Root level="INFO">
配置控制台输出,方便查看日志
<AppenderRef ref="Console" />
引入后效果
<Root level="INFO">
<AppenderRef ref="LogFile" />
<AppenderRef ref="Console" />
</Root>
测试Flume
创建测试配置文件
[liang@node2 conf]$ vim test.conf
内容如下
# 设置agent
b1.sources = r1
b1.sinks = k1
b1.channels = c1
# 配置source
b1.sources.r1.type = netcat
b1.sources.r1.bind = localhost
b1.sources.r1.port = 44444
# 配置sink
b1.sinks.k1.type = logger
# 配置channel
b1.channels.c1.type = memory
b1.channels.c1.capacity = 1000
b1.channels.c1.transactionCapacity = 100
#将source和sink绑定到channel
b1.sources.r1.channels = c1
b1.sinks.k1.channel = c1
启动Flume代理
[liang@node2 conf]$ flume-ng agent --conf ./ --conf-file test.conf --name b1 -Dflume.root.logger=INFO,console
注意:不要关闭这个终端
发送数据
另外启动一个终端,使用nc命令发送数据
[liang@node2 ~]$ nc localhost 44444
nc终端输入发送的数据,然后在执行flume-ng命令的终端观察接收的数据。
回到启动Flume代理的终端,接收到数据如下
分别在两个终端按Ctrl + c结束监听并返回Linux命令行。
需要注意的是:目前只支持 nc localhost 44444
,而不支持 nc node2 44444
[liang@node2 ~]$ nc node2 44444 Ncat: Connection refused.
若要支持localhost之外远程访问,可以把test.conf
的b1.sources.r1.bind = localhost
值改为0.0.0.0
。
如有需要,可点击查看:配套视频教程
完成!enjoy it!