通过上一篇博客(【大数据】Flume是个什么呢),我们可以基本了解认识到Flume是什么了,以及它主要是干嘛用的,纸上谈兵终觉浅,那究竟Flume该如何安装使用呢?
一、安装
1、先安装jdk
我安装的是jdk1.8
2、下载flume包
下载地址http://flume.apache.org/download.html
3、解压
tar zxvf apache-flume-1.9.0-bin.tar.gz
4、切到解压后的路径下,查看是否安装成功
./bin/flume-ng version
可看到flume的版本,代表安装成功
二、简单使用
1、使用telnet引入source源
(1)在conf下创建一个配置文件flume-conf.properties.example,配置如下
(2)启动agent
./bin/flume-ng agent --conf conf --conf-file conf/flume-conf.properties.example --name a1 -Dflume.root.logger=INFO,console
(3)在另一个终端,使用telnet给flume发送一个event
(4)在原来的终端可看到内容
2、Avro Source
(1)在conf目录下配置avro.conf文件
(2)启动agent
./bin/flume-ng agent agent -c conf -f ./conf/avro.conf -n a1 -Dflume.root.logger=INFO,console
(3)在某个目录下,创建文件,并写入内容
(4)打开另一个终端发送文件
./bin/flume-ng avro-client -H localhost -p 4141 -F /usr/local/flume/test.log
(5)在原来的终端上可看到文件中的内容
这种方式不支持汉字
3、Taildir Source
可实时监控一批文件,并记录每个文件最新消费位置,agent进程重启后不会有重复消费的问题。
Taildir中的position文件,记录了每个文件最新的消费位置,每消费一次便去更新这个文件
(1)在conf目录下配置taildir.conf文件
(2)启动agent
./bin/flume-ng agent agent -c conf -f ./conf/taildir.conf -n agent -Dflume.root.logger=INFO,console
(3)在另一终端,在配置文件所定义好的监控的目录下,写入文件
(4)在原来的终端可看到内容
Taildir Source是实时监控一批文件,并记录每个文件最新消费位置,
在所配置的taildir_position.json文件中可看到文件在实时记录位置