1 安装flume
1.1 下载并解压flume(使用非root用户)
解压后,将文件夹重名为 flume-1.8.0
1.2 配置/etc/profile环境变量
FLUME_HOME=/home/hadoop/flume-1.8.0
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$FLUME_HOME/bin
export PATH
1.3 修改flume配置文件
进入flume配置文件目录:/home/hadoop/flume-1.8.0/conf
通过模板生成flume-env.sh环境配置文件
cp flume-env.sh.template flume-env.sh
修改jdk安装位置
# export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export JAVA_HOME=/usr/java/jdk1.8.0_144/
1.4 安装完毕并测试flume是否安装成功
在shell中输入: flume-ng version
显示当前版本:Flume 1.8.0
2 单机测试案例,测试监听telnet输入
2.1 以管理员身份安装telnet
sudo yum install -y telnet
2.2 在指定目录中创建配置文件
cd /home/hadoop/flume-1.8.0/datas
并在该目录下创建配置文件
vi flume1
输入内容
设置监听代理名称为a1,并分别输入三个组件对应的自定义名称
a1.sources =r1
a1.channels = c1
a1.sinks = k1# For each one of the sources, the type is defined
agent.sources.seqGenSrc.type = seq
# 设置sources组件r1的各个监听属性.
a1.sources.r1.type = netcat
a1.sources.r1.bind = hadoop1
a1.sources.r1.port = 8888
a1.sources.r1.channels = c1
#设置cannel组件的各个属性
a1.channels.c1.type=memory
a1.channels.c1.capacity=1000
a1.channels.c1.transactionCapacity=1000
#设置sinks组件各个属性
a1.sinks.k1.channel=c1
a1.sinks.k1.type=logger
2.3 输入监听命令
在当前的datas目录中,输入:
flume-ng agent -n a1 -c ../conf/ -f ./flume1 -Dflume.root.logger=DEBUG,console
2.4 在任意节点上输入测试命令
telnet hadoop1 8888
3 监控文件状态变化并将新内容打印控制台
3.1 编写配置文件
a1.sources=s1
a1.sinks=k1
a1.channels=c1
a1.sources.s1.channels=c1
a1.sources.s1.type=spooldir
a1.sources.s1.spoolDir=/home/hadoop/mytest
a1.sinks.k1.channel=c1
a1.sinks.k1.type=logger
a1.channels.c1.type=file
3.2 输入命令
flume-ng agent --conf-file flume2 --name a1 --conf ../conf/ -Dflume.root.logger=INFO,console
4