hbase启动 Could not find or load main class .usr.java.packages.lib.amd64:.usr.lib64:.lib64:

本文详细记录了HBase启动时遇到的找不到特定库文件的问题,分析了java.library.path配置错误的原因,并给出了正确的Hadoop native目录设置方法,最终解决了启动异常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

看hbase启动命令脚本:

144331_Ihpl_560096.png

这里面从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重新设置为正常的目录,不要使用软连接,

重启搞定。

 

 

转载于:https://my.oschina.net/weikan/blog/784787

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值