cdh上使用flume,安装很简单.
写个helloword测一下,结果发现角色日志看不了. 网上完全找不到资料,有的说log4j包没有,有的说配置配错了,我确认了下都没有问题.
记录下排查步骤
1.这个是qa环境,搭建完flume之后,测试看不到角色日志.
2.在其他节点配置agent测试,也看不到日志,确认不是机器问题.
3.在公司开发环境测试,可以看到日志.
4.比对配置,jar包都一样
5.停掉qa环境flume,命令行启动
bin/flume-ng agent -n agent_test1 -c conf -f conf/flume-conf.properties.template
6.停掉公司环境flume,命令行启动
7.比较两者差异
差异如下:
由此可见,差异是因为phoenix的jar包和flume/lib下包冲突.
那么公司环境为什么没问题呢?
想到前段时间对hbase下面的phoenix包进行了优化,因为有些包会导致hbase日志不显示.
8.删掉hbase下冲突的jar包
rm -rf /opt/cloudera/parcels/CDH-5.13.1-1.cdh5.13.1.p0.2/lib/hbase/lib/phoenix-4.14.0-cdh5.13.2-client.jar
rm -rf /opt/cloudera/parcels/CDH-5.13.1-1.cdh5.13.1.p0.2/lib/hbase/lib/phoenix-4.14.0-cdh5.13.2-hive.jar
rm -rf /opt/cloudera/parcels/CDH-5.13.1-1.cdh5.13.1.p0.2/lib/hbase/lib/phoenix-4.14.0-cdh5.13.2-pig.jar
rm -rf /opt/cloudera/parcels/CDH-5.13.1-1.cdh5.13.1.p0.2/lib/hbase/lib/phoenix-4.14.0-cdh5.13.2-thin-client.jar
9.再次启动测试
bin/flume-ng agent -n agent_test1 -c conf -f conf/flume-conf.properties.template
看到没有slfj报错了.
查看目录还是没有日志文件
10.停止cdh上flume,删除/var/log/flume-ng目录,重新执行启动命令还是不行.
11.现在不报错还没有日志. 那只能比对一下qa环境和开发环境的启动打印的所有参数了
开发环境:
qa环境:
格式化后比对,发下还是hbase lib下面的phoenix文件问题,看了下开发环境hbase下没有phoenix
153-115=38
正好多了这38个包
这里说明一下,开发环境也是有phoenix的.可见这些包有没有并不影响phoenix的使用
12. 删除hbase/lib下 phoenix包
sudo rm -rf phoenix-*
13.测试
bin/flume-ng agent -n agent_test1 -c conf -f conf/flume-conf.properties.template
总算报点错了
14cdh重新安装flume,启动
所有agent都这样操作
搞完收工
done