【问题标题】:Distributed Hbase failed to start, with error info: Server is not running yet分布式 Hbase 启动失败,错误信息:服务器尚未运行
【发布时间】:2021-11-25 10:20:18
【问题描述】:

我正在尝试建立一个基于 Hadoop 的分布式 Hbase,在我的 Ubuntu 20.04 上有一个 namenode,在 localhost 和两个 VM 上有三个 datanode。当我启动 Hadoop 和 Hbase 时一切顺利,namenode 上的 jps 信息:

44499 DataNode
44291 NameNode
45012 ResourceManager
45380 NodeManager
40408 QuorumPeerMain
46521 HRegionServer
44748 SecondaryNameNode
46188 HMaster
48733 Jps

数据节点上的 jps 信息:

3968 QuorumPeerMain
5155 Jps
4980 HRegionServer
4782 NodeManager
4638 DataNode

但是当我尝试使用 hbase shell 并想查看使用 'list' 的表时,错误信息显示 Hbase 实际上并没有成功启动...

hbase(main):001:0> list
TABLE                                                                                                                            

ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yet
    at org.apache.hadoop.hbase.master.HMaster.checkServiceStarted(HMaster.java:2923)
    at org.apache.hadoop.hbase.master.MasterRpcServices.isMasterRunning(MasterRpcServices.java:1182)
    at org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)
    at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:393)
    at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:133)
    at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:338)
    at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:318)

For usage try 'help "list"'

Took 8.6983 seconds

在日志中,我发现了错误:

2021-01-12 09:33:40,124 INFO  [main-SendThread(pro2:2181)] zookeeper.ClientCnxn: Opening socket connection to server pro2/192.168.122.113:2181. Will not attempt to authenticate using SASL (unknown error)

搜索后我认为问题可能出在zookeeper上,所以我去看了zk日志,但没有发现任何错误,这让我很困扰。

这是我的 hbase-site.xml:

<configuration>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>

  <property>
        <name>hbase.rootdir</name>
        <value>hdfs://jyy-lenovo-legion:9000/hbase</value>
  </property>

  <property>
        <name>hbase.zookeeper.quorum</name>
        <value>jyy-lenovo-legion,pro1,pro2</value>
  </property>

  <!--
  property>
    <name>hbase.tmp.dir</name>
    <value>./tmp</value>
  </property
  -->
  <property>
    <name>hbase.unsafe.stream.capability.enforce</name>
    <value>false</value>
  </property>
</configuration>

还有我的 zoo.cfg:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/zkData
clientPort=2181
server.1=pro1:2888:3888
server.2=pro2:2888:3888

我对 Hbase、Hadoop 等很陌生。有人能找出问题所在吗?提前致谢! :)

【问题讨论】:

    标签: hadoop hbase apache-zookeeper


    【解决方案1】:

    尝试使用旧版本的 Hadoop、Hbase 和 JDK 8。 示例:

    1. Hadoop:2.10.x
    2. Hbase:1.6.x
    3. JDK 8.

    您可以从link 找到 Hadoop 和 Hbase 版本的兼容性

    之后,如果有任何错误,你可以试试这个命令:

    找到 $HBASE_HOME/ -type f -name 'htrace-core*' -ls

    如果您看到此命令的两个结果,请删除一个并重新启动 Hadoop、Hbase。 谢谢。

    【讨论】:

      【解决方案2】:

      你可以尝试删除bhase下的slf4j-log4j12-1.7.25.jar,关闭Hadoop的安全模式。可以执行(hdfs dfsadmin -safemode leave)命令关闭,然后重启hbase

      【讨论】:

        猜你喜欢
        • 2023-04-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-07-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多