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'`
浙公网安备 33010602011771号