版本介绍:
hadoop-3.1.3
hbase-2.2.4

问题简述:
在学习HBase的过程中,安装后启动,开始是可以看见HMaster进程的,但是几秒后就消失了,反复尝试了几次,都是同样的情况,也就是启动失败。

问题分析:
因为HBase与hadoop的兼容性是一个重要的问题,因此我先考虑版本问题,查阅hbase官网,如下图:
在这里插入图片描述
版本兼容是没有问题的,不过这个问题仍然是是使用hbase需要重点关注的

然后,在查看自己安装流程的过程中,我发现在hbase-site.xml配置中:

<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop102:9000/HBase</value>
</property>

这里,hdfs的端口号我配置的是9000,然而在hadoop的配置文件中,我配置的是8020:

<property>
 <name>fs.defaultFS</name>
 <value>hdfs://hadoop102:8020</value>
 </property>

发现问题所在,于是我将hadoop中的端口号改为了9000,保持一致,尝试后果然成功!!!
在这里插入图片描述
HMaster持续在,然后webUI,也没有问题。
在这里插入图片描述

除此之外,我还遇到了一个问题,也在这里记录一下,希望可以帮助大家避免:
在启动regionserver的过程中,有时候会报以下日志:

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/module/hadoop-3.1.3/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/module/hbase/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]


根据日志分析,是两个jar包产生了冲突,我在网上看到一位兄台是将其中一个JAR包删除即可,我选择删除的是hbase中的jar包,问题果然解决。

附上那位兄台的博客地址:
https://blog.csdn.net/qq_43437122/article/details/106745022

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐