I have one master and one regionserer running on one machine,now I want to add another region server to it.
This new machine has all the connection config required (as in passwordless ssh etc), as these two machines are running datanodes for my underlying Hadoop (and start/stop from hadoop master starts/stops datanodes on all the machines).
I have mentioned two servers (with their entries in /etc/hosts):
master
slave
Now if I do ./start-hbase.sh on the master In the console it says "starting regionserver on slave", but the corresponding log is empty and in the web console i do not see the slave as one of the regionservers (master region server starts fine).
So I thought maybe I will start the region server manually on the slave and I did
./hbase-daemon.sh start regionserver
The region server starts but in the logs I see:
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)
I thought may be if I restarted the hbase master it will recognize the regionserver, but when I do that I get an error "Region server started on slave with pid:xxx, stop it first".
What am I missing here, I am using exactly the same hbase-site.xml file on both the machines. Please help