Hbase master无法启动regionserver

时间:2011-09-05 14:33:52

标签: hbase

我在一台机器上运行了一个master和一个regionserer,现在我想为它添加另一个区域服务器。

这台新机器具有所需的所有连接配置(如无密码ssh等),因为这两台机器正在为我的底层Hadoop运行数据节点(并且从hadoop主机启动/停止在所有机器上启动/停止数据节点)。 / p>

我提到了两个服务器(在/ etc / hosts中有条目):

master
slave

现在,如果我在主服务器上执行./start-hbase.sh在控制台中它显示“从服务器上启动regionserver”,但相应的日志是空的,并且在Web控制台中我看不到从服务器作为其中一个regionservers(主区域服务器启动正常)。

所以我想也许我会在奴隶上手动启动区域服务器而且我做了

./hbase-daemon.sh start regionserver

区域服务器启动但在日志中我看到:

2011-09-05 14:28:54,331 INFO org.apache.hadoop.hbase.regionserver.HRegionServer: Attempting connect to Master server at master:60000
2011-09-05 14:28:54,501 INFO org.apache.hadoop.hbase.regionserver.HRegionServer: Connected to master at master:60000
2011-09-05 14:28:54,672 INFO org.apache.hadoop.hbase.regionserver.HRegionServer: Telling master at master:60000 that we are up
2011-09-05 14:28:54,757 WARN org.apache.hadoop.hbase.regionserver.HRegionServer: error telling master we are up
java.io.IOException: Call to master/174.129.183.20:60000 failed on local exception: java.io.EOFException
        at org.apache.hadoop.hbase.ipc.HBaseClient.wrapException(HBaseClient.java:806)
        at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:775)
        at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:257)
        at $Proxy5.regionServerStartup(Unknown Source)
        at org.apache.hadoop.hbase.regionserver.HRegionServer.reportForDuty(HRegionServer.java:1538)
        at org.apache.hadoop.hbase.regionserver.HRegionServer.tryReportForDuty(HRegionServer.java:1499)
        at org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:572)
        at java.lang.Thread.run(Thread.java:662)
Caused by: java.io.EOFException
        at java.io.DataInputStream.readInt(DataInputStream.java:375)
        at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.receiveResponse(HBaseClient.java:539)
        at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.run(HBaseClient.java:477)

我想如果我重新启动hbase master它会识别regionserver,但是当我这样做时,我得到一个错误“Region server with pid:xxx,先停止它。”

我在这里缺少什么,我在两台机器上使用完全相同的hbase-site.xml文件。请帮忙

2 个答案:

答案 0 :(得分:0)

尝试验证您的DNS设置.Hbase需要正向和反向解析

答案 1 :(得分:0)

如果您首先拥有localhost,请从hadoop和hbase conf文件中删除它。

添加你的ipaddress somenameforthemachine

然后使用somenameforthemachine进行hadoop中的所有配置,所以使用这个配置使得hadoop和hbase在单个机器上运行,所以在一切正常后就像你可以看到进程一样

HQuorumPeer 6261 HRegionServer 4100 TaskTracker 6000 HMaster 7701主要 7765 Main 3426 DataNode 11851主要 3149 NameNode 3712 SecondaryNameNode 12548 Jps 6929主要 2688主要 3820 JobTracker

然后使用domainname将您的从属机器添加到slave(您可以在主机名中指定为 ipaddress大师 ipaddress奴隶 )

如果你能够ping它的罚款,那么从主机奴隶ping主机,然后从两台机器ping ping ipaddress,这样如果这个过程运行良好,继续。

将相同的hadoop和hbase文件夹复制到你所拥有的相同结构的slave中,假设你在/ home / username中有它,所以它应该在slave上的同一个地方。

尝试这将解决您的问题..这通常会发生,因为主机配置ip和端口配置增量,告诉它是否解决了您的问题。

相关问题