下载
【cdh】
链接: https://pan.baidu.com/s/1ASwsAS2eRrV7WpymuQS3-w 密码: bqgj
配置
1.修改conf文件夹下的
flume-env.sh.template
去除.template
//更新前
# export JAVA_HOME=/usr/lib/jvm/java-6-sun
//更新后
export JAVA_HOME=/opt/module/jdk1.8.0_144
2.flume下的/lib目录 引入Hadoop 下/share/hadoop/mapreduce1/lib/ 的jar包,一共四个:
commons-configuration-1.6.jar
hadoop-auth-2.5.0-cdh5.3.6.jar
hadoop-common-2.5.0-cdh5.3.6-tests.jar
hadoop-hdfs-2.5.0-cdh5.3.6.jar
3.安装telnet-server、telnet、xinetd
//查看是否安装telnet
rpm -qa | grep telnet
//安装telnet
yum install telnet
//查看是否安装telnet-server
rpm -qa telnet-server
//安装telnet-server
yum install telnet-server
//查看是否安装xinetd
rpm -qa | grep xinetd
//安装xinetd
yum install xinetd
使用
agent示例1
在conf下创建 a1.conf(cdh下载文件里有,可直接上传)
//示例
bin/flume-ng agent --conf conf --name agent-test --conf-file test.conf
//缩写
bin/flume-ng agent -c conf -n agent-test -f test.conf
执行flume-ng,-D后面加参数,表示输出控制台
bin/flume-ng agent --conf conf --name a1 --conf-file conf/a1.conf -Dflume.root.logger=DEBUG,console
在另一个控制台,输入
telnet wqq 44444
模拟发送数据,输入hello(随便什么都可以),最后点击enter,会发现第一个控制台log自动输出
Event: { headers:{} body: 68 65 6C 6C 6F 20 0D hello . }
agent示例2
在conf下创建 flume-tail.conf(cdh下载文件里有,可直接上传)
在dfs文件系统创建hive log路径,先进入hadoop执行
bin/hdfs dfs -mkdir -p /user/root/flume/hive-logs/
运行agent
bin/flume-ng agent --conf conf --name a2 --conf-file conf/flume-tail.conf -Dflume.root.logger=DEBUG,console
在dfs文件系统中查看刚创建的目录(/user/root/flume/hive-logs/),目前是空的。
然后打开一个新窗口,进入hive根目录,执行:
tail -f logs
然后再打开一个新窗口,进入hive根目录,执行 bin/hive ,进入hive命令行,然后执行
show tables;
//或者 任何命令都可以
select count(1) from hive_user;
发现 flume的窗口 和 tail 的窗口 都在输入日志,再次查看 dfs文件系统的目录(/user/root/flume/hive-logs/),已经有日志文件了。
=================================================================
个人博客
Github
个人公众号:Flutter小同学
个人网站