hadoop版本号与hbase/lib里的jar版本号不一致,解决方法。

问题:

启动hbase时,提示

WARN  [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

 

分析:

su hadoop
cd $HBASE_HOME/lib
find -name 'hadoop*jar'

 如发现与hadoop版本号不一致

解决:

 

则需要用 hadoop 目录下的 jar 替换 hbase/lib 目录下的 jar 文件

vi f.sh

 插入以下内容

find -name "hadoop*jar" | sed 's/2.5.1/2.6.0/g' | sed 's/\.\///g' > f.log
rm ./hadoop*jar
cat ./f.log | while read Line
do
find /home/grid/hadoop-2.6.0 -name "$Line" | xargs -i cp {} ./
done
rm ./f.log

 执行命令

./f.sh

 

hbase/lib 目录下还有个 slf4j-log4j12-XXX.jar,在机器有装hadoop时,由于classpath中会有hadoop中的这个jar包,会有冲突,直接删除掉

rm `find -name 'slf4j-log4j12-*jar'`

 

posted on 2015-05-27 22:24  仔仔水鱼  阅读(745)  评论(0)    收藏  举报