flume-ng 1.8 安装和项目部署
1.安装
1.1 到官网下载安装包:http://flume.apache.org/
点击Download,选择flume-1.8.0.bin.bar.gz 安装包

1.2 解压
把安装包一直到安装目录,然后输入命令进行解压 tar -xzvf apache-flume-1.8.0-bin.tar.gz
(有些系统要不能一起解压tar和gz,则分开解压:先解压gz,得到apache-flume-1.8.0-bin.tar压缩包,再解压tar: gzip -d apache-flume-1.8.0-bin.tar.gz tar -xvf apache-flume-1.8.0-bin.tar )
1.3 安装jdk1.8,如果有则忽略此步骤。
1.4配置Flume系统参数
修改 flume-env.sh 配置文件,主要是JAVA_HOME变量设置
cd /usr/local/apache-flume-1.8.0-bin/confcp flume-env.sh.template flume-env.sh在flume-env.sh里面设置FLUME_CLASSPATH变量和JAVA_HOME变量,
示例:
export JAVA_HOME=/usr/local/apache-flume-1.8.0-bin/java/jdk1.8.0_79FLUME_CLASSPATH="/usr/local/apache-flume-1.8.0-bin/"1.5添加部署包,如jar包
需要在flume安装目录下新建plugin.d目录、项目目录、lib目录。具体操作如下:
cd /usr/local/apache-flume-1.6.0-bin
mkdir plugins.d --创建依赖目录,目录名必须为plugins.d cd plugins.d mkdir flume-plugins --项目目录,目录名随意 cd flume-plugins mkdir lib 将第三方部署包加入到lib下,另外/usr/local/apache-flume-1
.8.0-bin/lib下的lib是放依赖包的,如数据库jar驱动包等,不是放部署包,不要将二者混淆1.6启动flume
cd /usr/local/apache-flume-1.8.0-bin ./bin/flume-ng agent--conf conf --conf-file flume.conf --name a3 -Dflume.root.logger=INFO,console 第二条命令若执行失败,也可以像下面这样写,详情参照Linux四种文件执行方法:https://www.cnblogs.com/hoboo/p/9759942.html bash ./bin/flume-ng agent--conf conf --conf-file flume.conf --name a3 -Dflume.root.logger=INFO,console注意:-Dflume.root.logger=INFO,console仅为 debug 使用,请勿生产环境生搬硬套,否则大量的日志会返回到终端。-c/--conf 后跟配置目录,-f/--conf-file 后跟具体的配置文件,-n/--name 指定agent的名称。
1.7测试
创建flume启动配置文件,指定source,channel,sink 3个组件内容。每个组件都有好几种配置选项,具体配置请查看Flume官网。
在/usr/local/apache-flume-1.8.0-bin/conf 目录下创建配置文件flume.conf,示例如下:
a1.sources = x1a1.sinks = y1a1.channels = z1# Describe/configure thesourcea1.sources.x1.type =execa1.sources.x1.channels =z1a1.sources.x1.command =tail -F /home/xdf/exec.txt# Describe the sinka1.sinks.y1.type =logger# Use a channel whichbuffers events in memorya1.channels.z1.type =memorya1.channels.z1.capacity= 1000a1.channels.z1.transactionCapacity= 100# Bind the source andsink to the channela1.sources.x1.channels =z1a1.sinks.y1.channel = z1启动flume
上面配置的example.conf文件,实现的功能是监控文件/home/xdf/exec.txt,
如果有新数据写入时,Flume就会采集到新数据并打印在控制台上。
测试用例:向/home/xdf/exec.txt文件中写入内容“hello flume”。
echo
'hello flume'>> /home/xdf/exec.txtFlume 终端窗口此时会打印出如下信息,就表示成功了:
|
1
2
|
2015-06-3016:01:52,910 (SinkRunner-PollingRunner-DefaultSinkProcessor) [INFO -org.apache.flume.sink.LoggerSink.process(LoggerSink.java:94)] Event: {headers:{} body: 68 65 6C 6C 6F 20 66 6C 75 6D 65 hello flume } |

浙公网安备 33010602011771号