【flume版本为:apache-flume-1.8.0-bin.tar ----------- 链接: https://pan.baidu.com/s/1GLLRBA_TjJQs5SgO0Mx9DQ?pwd=wvmw 提取码: wvmw 】
目录
如果时间急迫,不想要使用虚拟机文件传输软件的话,可以直接在虚拟机上安装lrzsz来实现文件从windows母机传输到linux虚拟机上的功能。如下:
- [HadoopColony@hadoop1 ~]$ sudo yum install -y lrzsz
- [sudo] password for HadoopColony:
- Loaded plugins: fastestmirror
- ...
-
- Installed:
- lrzsz.x86_64 0:0.12.20-36.el7
-
- Complete!




如果我们想要从虚拟机上下载文件到windows母机上的话可以使用:sz 文件名即可。
接下来我们将压缩包解压到/opt/modules目录下
[HadoopColony@hadoop1 softwares]$ tar -zxf apache-flume-1.8.0-bin.tar.gz -C /opt/modules/

- [HadoopColony@hadoop1 modules]$ sudo vi /etc/profile
- [sudo] password for HadoopColony:
- [HadoopColony@hadoop1 modules]$ tail -5 /etc/profile
- export PATH=$PATH:$HADOOP_HOME/sbin
- #加入如下的命令可以使flume命令在任意目录下执行
- export FLUME_HOME=/opt/modules/apache-flume-1.8.0-bin
- export PATH=$PATH:$FLUME_HOME/bin
-
- [HadoopColony@hadoop1 modules]$

[HadoopColony@hadoop1 ~]$ source /etc/profile

使用如下命令来测试我们的flume环境变量配置是否成功:
[HadoopColony@hadoop1 ~]$ flume-ng

如果/opt/modules/apache-flume-1.8.0-bin/conf/目录下没有该文件的话需要自行创建。因为我下载的包里面是有该文件的模板文件,因此我只需要就行cp一份进行修改即可。如下:
- [HadoopColony@hadoop1 ~]$ cd /opt/modules/apache-flume-1.8.0-bin/conf/
- [HadoopColony@hadoop1 conf]$ ll
- total 16
- -rw-r--r--. 1 HadoopColony HadoopColony 1661 Sep 15 2017 flume-conf.properties.template
- -rw-r--r--. 1 HadoopColony HadoopColony 1455 Sep 15 2017 flume-env.ps1.template
- -rw-r--r--. 1 HadoopColony HadoopColony 1568 Sep 15 2017 flume-env.sh.template
- -rw-r--r--. 1 HadoopColony HadoopColony 3107 Sep 15 2017 log4j.properties
- [HadoopColony@hadoop1 conf]$ cp flume-conf.properties.template flume-conf.properties
- [HadoopColony@hadoop1 conf]$ ll
- total 20
- -rw-r--r--. 1 HadoopColony HadoopColony 1661 Sep 7 17:19 flume-conf.properties
- -rw-r--r--. 1 HadoopColony HadoopColony 1661 Sep 15 2017 flume-conf.properties.template
- -rw-r--r--. 1 HadoopColony HadoopColony 1455 Sep 15 2017 flume-env.ps1.template
- -rw-r--r--. 1 HadoopColony HadoopColony 1568 Sep 15 2017 flume-env.sh.template
- -rw-r--r--. 1 HadoopColony HadoopColony 3107 Sep 15 2017 log4j.properties
- [HadoopColony@hadoop1 conf]$ vim flume-conf.properties #如果没有vim的话可以使用yum install vim,或者是直接使用vi也行。
- [HadoopColony@hadoop1 conf]$ tail -25 flume-conf.properties
- # In this case, it specifies the capacity of the memory channel
- agent.channels.memoryChannel.capacity = 100
-
- #单节点的flume部署,以上不需要手动写,以下的内容需要写进去。
- #定义Agent的三个组件并起别名
- a1.sources = r1
- a1.channels = c1
- a1.sinks = k1
-
- # source组件配置
- a1.sources.r1.type = netcat
- a1.sources.r1.bind = localhost
- a1.sources.r1.port = 44444
-
- # channel组件配置
- a1.channels.c1.type = memory
- a1.channels.c1.capacity = 100
- a1.channels.c1.transactionCapacity = 100
-
- # sink组件配置
- a1.sinks.k1.type = logger
-
- # 绑定source和sink到channel上
- a1.sources.r1.channels = c1
- a1.sinks.k1.channel = c1
以上就是我们单节点的flume部署,允许用户生成数据并发送到flume,flume接收到数据后会输出到控制台。配置好了后,接下来我们在任意的目录下执行启动flume命令。
在任意目录执行:flume-ng agent --conf conf --conf-file /opt/modules/apache-flume-1.8.0-bin/conf/flume-conf.properties --name a1 -Dflume.root.logger=INFO,console
- [HadoopColony@hadoop1 conf]$ flume-ng agent --conf conf --conf-file /opt/modules/apache-flume-1.8.0-bin/conf/flume-conf.properties --name a1 -Dflume.root.logger=INFO,console
-

当我们启动成功后,这个ssh窗口就无法编辑了,因此我们需要重新开一个ssh窗口,并执行如下命令,来连接本地44444端口
- [HadoopColony@hadoop1 ~]$ telnet localhost 44444 #连接本地44444端口
- Trying ::1...
- telnet: connect to address ::1: Connection refused
- Trying 127.0.0.1...
- Connected to localhost.
- Escape character is '^]'.
如果使用了telnet命令后出现如下界面的:

表示我们没有安装相应的telnet服务及客户端,因此我们可以进行如下的下载:
- [HadoopColony@hadoop1 ~]$ sudo yum install telnet-server #安装telnet服务
- ...
- Running transaction
- Installing : 1:telnet-server-0.17-66.el7.x86_64 1/1
- Verifying : 1:telnet-server-0.17-66.el7.x86_64 1/1
-
- Installed:
- telnet-server.x86_64 1:0.17-66.el7
-
- Complete!
-
- [HadoopColony@hadoop1 ~]$ sudo yum install telnet.* #安装telnet客户端
-
- ...
- Running transaction
- Installing : 1:telnet-0.17-66.el7.x86_64 1/1
- Verifying : 1:telnet-0.17-66.el7.x86_64 1/1
-
- Installed:
- telnet.x86_64 1:0.17-66.el7
-
- Complete!
或者是直接安装telnet组件:sudo yum install -y telnet
安装成功后,再使用telnet localhost 44444命令连接44444端口即可。
连接上后,我们继续输入任意的字符串(这里输入“keep coding”)后按一下回车键,就会向本地的flume发送数据,

然后我们回到之前启动了flume却无法编辑的ssh窗口就可以看到,控制台成功的打印出了接收到的数据”keep coding“,如下所示:

以上就是简单的flume集群搭建配置,有问题的请在评论区留言。