Chukwa的部署尝试

本文记录了一次尝试部署Chukwa过程中遇到的问题及解决方案,包括脚本执行权限、Hadoop配置、log4j问题、Pig与HBase的集成问题以及Hicc监控系统的错误。解决问题的关键包括更新jar包、调整配置和清理数据。
摘要由CSDN通过智能技术生成
大约半年前做的事,存在这儿,防止以后找不到了。。。
=============================================
尝试部署了chukwa,遇到诸多问题,RP超级不好,手上还有别的事,整个试验断断续续一个多星期才解决。之间遇到太多太多的问题,google也很难找到太好的解答,百度就更不用说了。不过好歹最终搞定了,下面就分享一下一些问题的解决方式。
之前有部署过一个hadoop 1.0.0加hbase0.92.1,然后直接上手chukwa 5.0。在pig安装时出了问题,pig下的是0.9.1版,只支持hadoop 0.20.x,于是降级hadoop,hbase为了与hadoop兼容,也降成了0.90.5. hbase0.90.x到hbase0.92.1之间有一次较大的升级,数据格式不兼容,必须把数据删除干净,尤其注意zookeeper的数据也要清空,否则会启动失败。在后面也有讲到。
 
1. *.sh文件有的无法执行
一开始还是按照正常的案例进行配置,有几个命令直接走没有成功,linux有点小白,后来想到是权限的问题。
(1)用sh *.sh来运行该bash脚本
OR
(2)将该文件的权限改为允许执行
 
2. cannot duplicate ....
hadoop的配置问题,简而言之是集群没有配好。由于之前老的集群可以跑得很happy,所以不会是防火墙和权限的问题,conf也用的是老的,也不会有错。最后是通过删除老的数据来解决的。原来遗留的数据没有删除干净,然后初始化时候就会失败退出,然后自然没法进行下去。
用hadoop dfs -report来查看当前节点的状态,配合主节点和数据节点的log内容来判断问题所在。
 
3. log4j问题
默认情况下,log4j需要log4j.property配置文件
如果该文件存在的情况下依旧写日志报错,则需要看看调用方法及环境变量,看看classpath究竟设在哪儿以及log4j的配置信息,相应进行修改。比如chukwa中就在chukwa-env.sh中指定了log4j的配置文件的名字是chukwa-log4j.property,如果没这个文件,日志就打不出来;没有日志,一旦出错就束手无策了。
 
4. pig 问题
chukwa中含有pig脚本,可以进行summarise。
这个过程是通过map reduce实现的。也就是说,hadoop需要调用hbase,取得在hbase中存储的数据,map reduce处理后存入hbase中。
第一次运行,老样子报错了。google一下很容易就找到解决方案了,大意是要把一些jar包放入pig的classpath中,这是一个很常见的问题,修改后的命令如下:
bin/pig -Dpig.additional.jars=${HBASE_HOME}/hbase-0.90.5.jar:${PIG_PATH}/pig.jar:${HADOOP_HOME}/hadoop-core-0.20.205.0.jar ${CHUKWA_HOME}/share/chukwa/script/pig/ClusterSummary.pig
环境变量如下
export PIG_CLASSPATH=$HADOOP_CONF_DIR:$HBASE_CONF_DIR:$HBASE_HOME/hbase-0.90.5.jar:$HBASE_HOME/hbase-0.90.5-tests.jar:$HBASE_HOME/lib/zookeeper-3.3.2.jar
 
当然pig没那么容易放过我,下面这个错误就不那么好google了:
ERROR 2244: Job failed, hadoop does not return any error message
 
org.apache.pig.backend.executionengine.ExecException: ERROR 2244: Job failed, hadoop does not return any error message
    at org.apache.pig.tools.grunt.GruntParser.executeBatch(GruntParser.java:139)
    at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:192)
    at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:164)
    at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:84)
    at org.apache.pig.Main.run(Main.java:561)
    at org.apache.pig.Main.main(Main.java:111)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:156)
log中的这个是完全没法debug的。不过不用着急,通过 http://master:50030/这个页面可以查看map reduce的具体情况
比如某job失败了,
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值