chenab
chenab

Reputation: 207

Hbase master fails to construct

I am attempting a two node hbase cluster on a pair of Linux servers. All files are transfered over and there is a running hadoop cluster on the server but hbase still refuses to fully work. The zookeepers and region servers start properly and I can even use the shell but the master refuses to start. The logs for the master give the reason as:

2014-06-17 14:56:43,678 ERROR [main] master.HMasterCommandLine: Master exiting
java.lang.RuntimeException: Failed construction of Master: class org.apache.hado
op.hbase.master.HMaster
        at org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:2
785)
        at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMaster
CommandLine.java:184)
        at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandL
ine.java:134)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
        at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLi
ne.java:126)
        at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:2799)
Caused by: java.net.UnknownHostException: hadoop-namenode
        at org.apache.hadoop.security.SecurityUtil.buildTokenService(SecurityUti
l.java:418)
        at org.apache.hadoop.hdfs.NameNodeProxies.createNonHAProxy(NameNodeProxi
es.java:231)
        at org.apache.hadoop.hdfs.NameNodeProxies.createProxy(NameNodeProxies.ja
va:139)
        at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:510)
        at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:453)
        at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFi
leSystem.java:136)
        at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2433
)
        at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:88)
        at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:246
7)
        at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2449)
        at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:367)
        at org.apache.hadoop.fs.Path.getFileSystem(Path.java:287)
        at org.apache.hadoop.hbase.util.FSUtils.getRootDir(FSUtils.java:883)
        at org.apache.hadoop.hbase.master.HMaster.<init>(HMaster.java:459)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct
orAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC
onstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:2
780)
        ... 5 more

My configuration for my hbase-site.xml is

<configuration>
<property>
<name>hbase.master</name>
<value>master:60000</value>
</property>

<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop-namenode:9000/hbase</value>
</property>


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



<property>
     <name>hbase.zookeeper.property.clientPort</name>
   <value>2222</value>
 </property>


<property>
<name>hbase.zookeeper.quorum</name>
<value>master</value>
</property>
</configuration>

Is the problem with my configuration or is it some networking issue?

Upvotes: 4

Views: 6562

Answers (1)

zsxwing
zsxwing

Reputation: 20816

The HBase master cannot resolve the ip of "hadoop-namenode". Have you already added "hadoop-namenode" in the /etc/hosts file in the master machine. You can easily check it by ping hadoop-namenode in the HBase master machine.

Upvotes: 2

Related Questions