Flume的安装及配置
- 解压:
我这边解压到了~目录中自己创建的一个文件夹softwares中
tar -xvf apache-flume-1.9.0-bin.tar -C ~/softwares/
- 进入解压到的目录(softwares)下,可以看到解压包
用户名@bigdata:~$ cd softwares/
用户名@bigdata:~/softwares$ ls
apache-flume-1.9.0-bin
- 建立软连接:方便配置环境变量、更换版本
ln -s apache-flume-1.9.0-bin/ flume
用户名@bigdata:~/softwares$ ls
apache-flume-1.9.0-bin flume
- 进入flume
用户名@bigdata:~/softwares/flume$ ls
bin conf doap_Flume.rdf lib NOTICE RELEASE-NOTES
CHANGELOG DEVNOTES docs LICENSE README.md tools
- 进入conf/
用户名@bigdata:~/softwares/flume/conf$ ls
flume-conf.properties.template log4j.properties
flume-env.ps1.template flume-env.sh.template
- 修改配置文件(重命名flume-env.sh.template文件或者复制一份命名为flume-env.sh)
cp flume-env.sh.template flume-env.sh
用户名@bigdata:~/softwares/flume/conf$ ls
flume-conf.properties.template flume-env.sh log4j.properties
flume-env.ps1.template flume-env.sh.template
vi flume-env.sh
配置自己jdk所在位置
下图是我的jdk所在的位置
保存退出
-
配置环境变量
进入自己添加环境变量的文件,我的环境变量配置在~/.bashrc中
####__FLUME_CONF__####
FLUME_HOME=/home/用户名/softwares/flume(这是自己flume所在的路径)
export PATH=$PATH:$FLUME_HOME/bin
保存退出后
让环境变量生效
source ~/.bashrc
-
验证flume是否生效:
在命令行输入flu 双击Tab后自动补齐为 flume-ng
-
样例1:
监控一个文件,实时采集新增的数据输出到控制台。
(1)回到~目录 新建一个文件夹mkdir flume_conf,在这个文件夹中写配置
用户名@bigdata:~$ mkdir flume_conf
用户名@bigdata:~$ ls
lume_conf
用户名@bigdata:~$ cd flume_conf
用户名@bigdata:~/flume_conf$ vi exec.conf
这个文件中主要写一下东西:
(参考文档 http://flume.apache.org/FlumeUserGuide.html#flume-sources
或者解压安装包 apache-flume-1.9.0-bin\docs,其中会有FlumeUserGuide.html,点击进入即可)
(英文状态下)
1、给当前flume进程起名字,同时给source、channel、sink起名字
2、配置source
3、配置channel
4、配置sink
5、把source、channel、sink对接
(2)执行:
flume-ng agent -c softwares/flume/conf/ -f flume_conf/exec.conf -n a1 -Dflume.root.logger=INFO,console
flume-ng agent :启动一个进程
-c softwares/flume/conf/:-c 指向安装目录下的conf的配置文件
-f flume_conf/exec.conf :-f 指向自己定义的flume配置文件
-n a1 :-n 指向当前配置的flume里配置的进程名字
-Dflume.root.logger=INFO,console:设置根日志 将值输出到控制台
(3)启动后验证,再开一个窗口:
以下是成功后的图片,左边添加数据时右边会显示
- 样例2:
Spool监测配置的目录下新增的文件,并将文件中的数据读取出来。
*注意:
1) 拷贝到spool目录下的文件不可以再打开编辑。
2) spool目录下不可包含相应的子目录*
(1)进入flume_conf文件夹中写配置
用户名@bigdata:~$ cd flume_conf
用户名@bigdata:~/flume_conf$ vi spool.conf
(2)执行:
用户名@bigdata:~$ flume-ng agent -c softwares/flume/conf/ -f flume_conf/spool.conf -n a1 -Dflume.root.logger=INFO,console
(3)验证,再开一个窗口: