背景:所用的版本都是最新的稳定版,本文主要围绕chukwa进行配置,至于hadoop、hbase、pig的安装只要遵照官方网站的指导就能配置出来
本文对chukwa的安装也是在官方网站http://incubator.apache.org/chukwa/docs/r0.5.0/Quick_Start_Guide.html的指导下进行配置,并以此为基础进行修改。第一步 准备阶段
下载chukwa 0.5.0,并解压(解压命令tar xzvf)我的安装路径是/usr/local,将解压后的文件名设置为chukwa(去掉版本号比较方便) 设置CHUKWA_HOME,这不是必要的,但是为了方便,我设置了第二步 安装chukwa伪分布
1.将chukwa中几个文件拷贝到hadoop安装目录
cp $CHUKWA_CONF_DIR/hadoop-log4j.properties $HADOOP_CONF_DIR/log4j.properties
cp $CHUKWA_HOME/etc/chukwa/hadoop-metrics2.properties $HADOOP_CONF_DIR/hadoop-metrics2.properties
cp $CHUKWA_HOME/share/chukwa/chukwa-0.5.0-client.jar $HADOOP_HOME/lib
(官方说明拷贝到$HADOOP_HOME/share/hadoop/lib,但是之后运行hadoop会报错)
cp $CHUKWA_HOME/share/chukwa/lib/json-simple-1.1.jar $HADOOP_HOME/lib
($CHUKWA_CONF_DIR表示chukwa配置文件所在目录,在5.0版本中,配置文件所在的目录为$CHUKWA_HOME/etc/chukwa)
($HADOOP_CONF_DIR表示hadoop配置文件所在目录,即HADOOP_HOME/conf)
2.编辑$CHUKWA_HOME/etc/chukwa/chukwa-env.sh文件,
设置 JAVA_HOME, HADOOP_HOME, HADOOP_CONF_DIR, HBASE_HOME, and HBASE_CONF_DIR变量
3.替换jar包
用hbase_home下的hbase-0.94.8.jar与hbase-0.94.8-test.jar包替换chukwa_home/share/chukwa/lib下的hbase-0.90.4.jar与hbase-0.90.4-test.jar包,否则collector会出现错误,错误信息需要在log文件中查看,log的输出地址默认在/tmp/chukwa/log下
4.启动hadoop,hbase
启动hadoop时会报log4j错误,但是不要紧,这是未启动agent所导致的。启动截图如下
5.执行$hbase_home/bin/hbase shell < $CHUKWA_HOME/etc/chukwa/hbase.schema
6.启动collector
注意,一定要在chukwa_home路径下执行bin/chukwa collector否则会报错,因为脚本写得有问题,启动后控制台输出如下
7.启动agent
bin/chukwa agent,启动后控制台输出如下
查看log日志,确保agent与collector运行正常,以下为log输出文件的最后几行
第三步 数据显示
1.安装pig
同样,我们使用最新版pig 0.11.1(我喜欢下最新的稳定版,要注意pig是否与hbase,hadoop兼容)
2.拷贝jar包
将$hbase_home/lib下的两个jar包拷贝到$pig_home/lib下,sudo cp zookeeper-3.4.5.jar protobuf-java-2.4.0a.jar /usr/local/pig/lib中。若不这样做,会出现ClassNotFoundError。反正出现哪个类找不到就把那个类的jar包添加到路径中去。
3.执行jar cf $CHUKWA_HOME/hbase-env.jar $HBASE_CONF_DIR
4.执行 pig命令
pig -Dpig.additional.jars=/usr/local/hbase/hbase-0.94.8.jar:/usr/local/hbase/lib/zookeeper-3.4.5.jar:/usr/local/pig/pig-0.11.1.jar:/usr/local/chukwa/hbase-env.jar /usr/local/chukwa/share/chukwa/script/pig/ClusterSummary.pig,如果出现权限问题无法写入log,就在主目录下执行吧。这个任务执行得很慢。
任务执行失败了,提示是map-reduce错误,所以可以去查看hadoop的错误日志,如图所示
发现是ClassNotFoundError,将$hbase/home/lib下的protobuf-java-2.4.0a.jar拷贝到hadoop_home/lib下,然后重启hadoop,最好把hbase,chukwa都重启
重启后,pig执行成功,截图如下
5.替换hicc.war中jar包
解压$CHUKWA_HOME/share/webapps/hicc.war包(jar xvf),用chukwa_home/share/chukwa/lib下的jasper-runtime-5.5.12.jar替换掉hicc/WEB-INFO/lib下的几个包jasper-runtime-5.5.23.jar,还需要替换hbase相关的jar包,再打包(jar cvfM0)
6.启动hicc
bin/chukwa/chukwa hicc,在浏览器中输入localhost:4080,输入用户名和密码admin,出现界面,界面上有图表信息。
到此配置成功,因为采用的都是默认配置,所以要按需修改