【问题标题】:Region server is not running on hadoop 2.0 distributed cluster区域服务器未在 hadoop 2.0 分布式集群上运行
【发布时间】:2015-05-15 19:55:09
【问题描述】:

在启动 hbase 集群时,我遇到了以下错误

  2015-05-15 16:58:31,741 WARN  [regionserver60020-    SendThread(hbasenamenode:2181)] zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
  java.net.ConnectException: Connection refused
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:735)
    at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081)
  2015-05-15 16:58:32,843 INFO  [regionserver60020-SendThread(hbasenamenode:2181)] zookeeper.ClientCnxn: Opening socket connection to server hbasenamenode/172.17.198.59:2181. Will not attempt to authenticate using SASL (unknown error)
     2015-05-15 16:58:32,847 WARN  [regionserver60020-SendThread(hbasenamenode:2181)] zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
   java.net.ConnectException: Connection refused
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:735)
    at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081)
   2015-05-15 16:58:33,752 INFO  [regionserver60020] ipc.RpcServer: Stopping server on 60020
   2015-05-15 16:58:33,755 FATAL [regionserver60020] regionserver.HRegionServer: ABORTING region server demodatanode2clone2,60020,1431689290504: Initialization of RS failed.  Hence aborting RS.
  java.io.IOException: Received the shutdown message while waiting.
    at org.apache.hadoop.hbase.regionserver.HRegionServer.blockAndCheckIfStopped(HRegionServer.java:783)
    at org.apache.hadoop.hbase.regionserver.HRegionServer.initializeZooKeeper(HRegionServer.java:730)
    at org.apache.hadoop.hbase.regionserver.HRegionServer.preRegistrationInitialization(HRegionServer.java:702)
    at org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:837)
    at java.lang.Thread.run(Thread.java:744)
  2015-05-15 16:58:33,756 FATAL [regionserver60020] regionserver.HRegionServer: RegionServer abort: loaded coprocessors are: []
 2015-05-15 16:58:33,767 INFO  [regionserver60020] ipc.RpcServer: Stopping server on 60020
 2015-05-15 16:58:33,767 INFO  [regionserver60020] regionserver.HRegionServer: Stopping infoServer
 2015-05-15 16:58:33,845 INFO  [regionserver60020] mortbay.log: Stopped SelectChannelConnector@0.0.0.0:60030
  2015-05-15 16:58:33,949 ERROR [main] regionserver.HRegionServerCommandLine: Region server exiting
 java.lang.RuntimeException: HRegionServer Aborted
    at org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine.start(HRegionServerCommandLine.java:66)
    at org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine.run(HRegionServerCommandLine.java:85)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
    at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:126)
    at org.apache.hadoop.hbase.regionserver.HRegionServer.main(HRegionServer.java:2410)
   2015-05-15 16:58:33,951 INFO  [regionserver60020-SendThread(hbasenamenode:2181)] zookeeper.ClientCnxn: Opening socket connection to server hbasenamenode/172.17.198.59:2181. Will not attempt to authenticate using SASL (unknown error)
  2015-05-15 16:58:33,953 WARN  [regionserver60020-SendThread(hbasenamenode:2181)] zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
 java.net.ConnectException: Connection refused
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:735)
    at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081)
    2015-05-15 16:58:33,959 INFO  [Thread-9] regionserver.ShutdownHook: Shutdown hook starting; hbase.shutdown.hook=true; fsShutdownHook=org.apache.hadoop.fs.FileSystem$Cache$ClientFinalizer@36d87f9e
    2015-05-15 16:58:33,972 INFO  [Thread-9] regionserver.ShutdownHook: Starting fs shutdown hook thread.
    2015-05-15 16:58:33,983 INFO  [Thread-9] regionserver.ShutdownHook: Shutdown hook finished.

但在寻找错误时,我从某个站点获得了一种解决方案,即运行此命令

  bin/hbase zkcli

它有效,但我没有得到这个命令的作用?谁能告诉我为什么实际上我之前遇到了问题以及上面是如何解决的?

【问题讨论】:

    标签: hadoop hbase apache-zookeeper


    【解决方案1】:

    在hbase-site.xml中添加这个属性:

    <property>
            <name>hbase.zookeeper.property.maxClientCnxns</name>
            <value>1000</value>
     </property>
    

    此属性增加客户端连接的最大数量。

    默认值为 300。将其更改为 1000 以避免 zookeeper ConnectionLoss 错误。还要在从节点的hbase-site.xml 中添加hbase.zookeeper.quorum 和hbase.zookeeper.property.clientPort 属性。

    注意:在主节点和从节点上都添加此属性。重启你的 HBase。

    更新:

    如下更改您的 hbase-site.xml(在 ma​​ster 和 slave 节点中):

    <configuration>
        <property>
            <name>hbase.master</name>
            <value>master:60000</value>
        </property>
        <property>
            <name>hbase.rootdir</name>
            <value>hdfs://NN:PortNo/hbase</value>
        </property>
        <property>
            <name>hbase.zookeeper.property.clientPort</name>
            <value>2181</value>
        </property>
        <property>
            <name>hbase.zookeeper.quorum</name>
            <value>NN,DN</value>
        </property>
        <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
        </property>
        <property>
                <name>hbase.zookeeper.property.maxClientCnxns</name>
                <value>1000</value>
         </property>
    </configuration>
    

    我在所有节点上都有相同的hbase-site.xml。但是您在主节点和从节点上都有不同的文件。这可能是未来的一个问题。尽量保持所有hbase-site.xml 文件相似。

    更新二:

    1. 在 master 的 regionservers 文件中删除 demonamenodeclone2 的一项。您在 master 中的 regionserver 文件应仅包含两行,其中一行用于 master-hostname,另一行用于 slave-hostname。

    2. Regionserver 从节点上的文件应该与主节点上的相同。但是你只有本地主机。将其更改为包含两行,如 master 的 regionserver 文件中一样。

    3. 您在 hbase-site.xml 中缺少 &lt;/property&gt; hbase.zookeeper.property.clientPort。从节点也改一下。

    【讨论】:

    • 我已按照您的建议进行了更改,但仍然无法正常工作,还有其他建议吗?
    • 发布你的新文件hbase-site.xml、hbase-env.sh和regionservers的主从节点
    • 更新了答案。核实。如果可能,请发布确切的文件内容,而不是 regionservers 文件。如果我们无法查看您的确切文件,它将对您没有帮助。
    • 我已经按照你在主节点和从节点上的建议更新了 hbase-site.xml,但它仍然没有运行。几秒钟后,datanode2 上的区域服务器的恶魔启动了。我将共享两个节点的所有 3 个 conf 文件,你可以来聊天,以便我可以共享文件吗?
    • 更新了答案。试试看。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-09
    • 1970-01-01
    • 2020-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多