1
votes

I don't understand one parameter from hbase-site.xml :

<property>
  <name>hbase.rootdir</name>
  <value>hdfs://hdfsHost:8020/hbase</value>
</property>

What we have to put in that parameter if we configured HDFS cluster in HA mode? I mean we have 2 name nodes (nn1, nn2) and 2 data nodes (dn1, dn2) then which node we have to use in "hbase.rootdir" parameter?

The most logical answer is the name node which is currently active. But if we will use active name node and it fails then hbase cluster becomes unavailable even if our nn2 will change its status to active. Hbase cluster will not understand that we have changed our active NN.

Moreover, I have configured HBase cluster with the following parameter:

<property>
  <name>hbase.rootdir</name>
  <value>hdfs://nn1:8020/hbase</value>
</property>

It doesn't work.
1. HMaster starts
2. I put "http://nn1:16010" into browser
3. HMaster disappears

Here is my logs/hbase-hadoop-master-nn1.log :
http://paste.openstack.org/show/549232/

I couldn't find answers in documentation. Please, help me to find out how to configure it

2

2 Answers

1
votes

You should insert the whole nameservice there instead of concrete namenode. I'm assuming that you have only one nameservice configured. Look at the dfs.nameservices property in hdfs-site.xml. There should be something like "nameservice1" in there. Then change hbase.rootdir like so :

<property>
  <name>hbase.rootdir</name>
  <value>hdfs://nameservice1:8020/hbase</value>
</property>

(fs.defaultFS property in core-site.xml also uses the same notation)

One thing to watch for is that hbase should have access to the latest hdfs configuration with HA. Otherwise it will complain about the nameservice name.

-2
votes

copy the hdfs-site.xml and core-site.xml to hbase/conf folder, this way you won't see the error for unknown name of the HA nameservice that you created.