1.下载软件
在 /opt/deploy 下新建 flume 文件夹:
# mkdir / opt/deploy / flume
到Flume官网上http://flume.apache.org/download.html下载软件包,例如:
wget "http://mirrors.cnnic.cn/apache/flume/1.8.0/apache-flume-1.8.0-bin.tar.gz"
解压命令: tar -xzvf apache-flume-1.8.0-bin.tar.gz
删除命令: rm -f 压缩包名称(rm -f apache-flume-1.8.0-bin.tar.gz)
如果解压目录不是安装目录可以进行移动--mv flume-1.8.0 /opt/deploy/flume
2. 配置环境变量
编辑/etc/profile文件
vi /etc/profile
(注意:FLUME_HOME的路径是你实际解压后的JDK的路径,千万别写错了)
export FLUME_HOME=/opt/deploy/flume/apache-flume-1.8.0-bin
export FLUME_CONF_DIR=$FLUME_HOME/conf
export PATH=.:$PATH::$FLUME_HOME/bin
3.修改配置文件(source类型为netcat,信息来自本地,抽取到日志)
vi /opt/deploy/flume/apache-flume-1.8.0-bin/conf/flume.conf
输入以下内容
# 指定Agent的组件名称
a1.sources = r1
a1.channels = c1
a1.sinks = k1
# 指定Flume source(要监听的路径)
a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 8888
# 指定Flume channel
a1.channels.c1.type = memory
a1.channels.c1.keep-alive = 60
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
# 指定Flume sink--测试为logger
#存储到本地存储中
#a1.sinks.k1.type = file_roll
#日志形式
a1.sinks.k1.type = logger
#a1.sinks.k1.directory = /tmp/log/flume
# 绑定source和sink到channel上
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
4.配置telnet
因为是本地netcat测试,需要连接telnet,先要测试是否安装telnet
先检查CentOS7.0是否已经安装以下两个安装包:telnet-server、xinetd。命令如下:
rpm -qa telnet-server
rpm -qa xinetd
如果没有安装,则先安装。安装命令:
1.1安装telnet
yum list |grep telnet
yum install telnet-server.x86_64
yum install telnet.x86_64
1.2安装xinetd
yum list |grep xinetd
yum install xinetd.x86_64
安装完成后,将xinetd服务加入开机自启动:
systemctl enable xinetd.service
将telnet服务加入开机自启动:
systemctl enable telnet.socket
1.3重启服务
最后,启动以上两个服务即可:
由于telnet服务也是由xinetd守护的,所以安装完telnet-server,要启动telnet服务就必须重新启动xinetd 。
systemctl start telnet.socket
systemctl start xinetd
1.4开启端口
CentOS 7 采用了 firewalld 防火墙,查询是否开启23端口
# firewall-cmd --query-port=23/tcp
no
显示23端口没有开启使用下面命令开启23端口
# firewall-cmd --zone=public --add-port=23/tcp --permanent
success
重新加载firewall-cmd
# firewall-cmd --complete-reload
success
重新查询23端口是否开放
# firewall-cmd --query-port=23/tcp
yes
success表示已开启!现在可以用telnet命令远程登陆CentOS7快乐玩耍了!
5.启动FLUME
要在flume的安装目录的bin目录下启动
#启动命令
flume-ng agent -c /opt/deploy/flume/apache-flume-1.8.0-bin/conf -f /opt/deploy/flume/apache-flume-1.8.0-bin/conf/flume.conf -n a1 -Dflume.root.logger=INFO,console
a1为配置的agent名,-c和-f后是flume的安装路径(必须一致才能启动成功)
6.发送消息,验证连接
Flume启动成功后,重新打开一个连接,输入telnet localhost 8888 ,显示连通后发生消息hello,在启动窗口查看,可以看到收到消息,本地flume搭建成功。