版本介绍: 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
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
根据日志分析,是两个jar包产生了冲突,我在网上看到一位兄台是将其中一个JAR包删除即可,我选择删除的是hbase中的jar包,问题果然解决。
附上那位兄台的博客地址: https://blog.csdn.net/qq_43437122/article/details/106745022
|