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/conf
cp 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_79
FLUME_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 = x1
a1.sinks = y1
a1.channels = z1
# Describe/configure thesource
a1.sources.x1.type =exec
a1.sources.x1.channels =z1
a1.sources.x1.command =tail -F /home/xdf/exec.txt
# Describe the sink
a1.sinks.y1.type =logger
# Use a channel whichbuffers events in memory
a1.channels.z1.type =memory
a1.channels.z1.capacity= 1000
a1.channels.z1.transactionCapacity= 100
# Bind the source andsink to the channel
a1.sources.x1.channels =z1
a1.sinks.y1.channel = z1
 
启动flume

上面配置的example.conf文件,实现的功能是监控文件/home/xdf/exec.txt,

如果有新数据写入时,Flume就会采集到新数据并打印在控制台上。

测试用例:向/home/xdf/exec.txt文件中写入内容“hello flume”。

echo 'hello flume'>> /home/xdf/exec.txt

Flume 终端窗口此时会打印出如下信息,就表示成功了:

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 }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
posted @ 2018-10-12 17:09  hobooo  阅读(971)  评论(0)    收藏  举报