千家信息网

hbase启动提示找不到usr.java.packages.lib.amd64怎么办

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,这篇文章主要讲解了"hbase启动提示找不到usr.java.packages.lib.amd64怎么办",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"
千家信息网最后更新 2024年09月22日hbase启动提示找不到usr.java.packages.lib.amd64怎么办

这篇文章主要讲解了"hbase启动提示找不到usr.java.packages.lib.amd64怎么办",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"hbase启动提示找不到usr.java.packages.lib.amd64怎么办"吧!

hbase启动的时候,提示找不到usr.java.packages.lib.amd64:.usr.lib64:.lib64

从提示可以看出来,hbase貌似找什么平台相关的二进制文件等等。看起来,像是java.library.path问题

看hbase启动命令脚本:

这里面从hadoop中读取java.library.path。而hadoop这个变量作用之一是设置native的,难道hadoop的native设置有问题?

输出变量看下:

jetty-sslengine-6.1.26.jar:/opt/modules/hbase/lib/jetty-util-6.1.26.jar:/opt/modules/hbase/lib/joni-2.1.2.jar:/opt/modules/hbase/lib/jruby-complete-1.6.8.jar:/opt/modules/hbase/lib/jsch-0.1.42.jar:/opt/modules/hbase/lib/jsp-2.1-6.1.14.jar:/opt/modules/hbase/lib/jsp-api-2.1-6.1.14.jar:/opt/modules/hbase/lib/jsr305-1.3.9.jar:/opt/modules/hbase/lib/junit-4.12.jar:/opt/modules/hbase/lib/leveldbjni-all-1.8.jar:/opt/modules/hbase/lib/libthrift-0.9.0.jar:/opt/modules/hbase/lib/log4j-1.2.17.jar:/opt/modules/hbase/lib/metrics-core-2.2.0.jar:/opt/modules/hbase/lib/netty-3.2.4.Final.jar:/opt/modules/hbase/lib/netty-all-4.0.23.Final.jar:/opt/modules/hbase/lib/paranamer-2.3.jar:/opt/modules/hbase/lib/phoenix-4.7.0-HBase-1.0-server.jar:/opt/modules/hbase/lib/phoenix-core-4.7.0-HBase-1.0.jar:/opt/modules/hbase/lib/protobuf-java-2.5.0.jar:/opt/modules/hbase/lib/servlet-api-2.5-6.1.14.jar:/opt/modules/hbase/lib/servlet-api-2.5.jar:/opt/modules/hbase/lib/slf4j-api-1.7.7.jar:/opt/modules/hbase/lib/slf4j-log4j12-1.7.7.jar:/opt/modules/hbase/lib/snappy-java-1.0.4.1.jar:/opt/modules/hbase/lib/xmlenc-0.52.jar:/opt/modules/hbase/lib/xz-1.0.jar:/opt/modules/hbase/lib/zookeeper-3.4.6.jar:/opt/modules/hadoop/contrib/capacity-scheduler/*.jar
/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib

红色对应的地方不应该出现才对,怎么会是这样的目录,要是也是我们指定的hadoop native目录才对。

参照如下设置hadoop

export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native
export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native/"

并使用hadoop checknative进行检测是否正确。

Ok之后,重启启动hbase,此时应该正常启动,但是我的还出现问题。

Could not find or load main class .opt.modules.hadoop.lib.native. 这是我的一个目录啊,正好是native的目录,怎么还是找不到?原来,我这个目录中hadoop使用的是 软连接到真正的目录,所以不行,把HADOOP_HOME重新设置为正常的目录,不要使用软连接,重启搞定。

感谢各位的阅读,以上就是"hbase启动提示找不到usr.java.packages.lib.amd64怎么办"的内容了,经过本文的学习后,相信大家对hbase启动提示找不到usr.java.packages.lib.amd64怎么办这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

0