Support Questions

Find answers, ask questions, and share your expertise

NameNode HA - HBASE has to be stopped

avatar
Super Collaborator

While configuring NameNode HA its recommended to stop HBASE prior, curious to know why HBASE has to stopped for NameNode High Availability.

1 ACCEPTED SOLUTION

avatar

HBase Distributed modes require an instance of HDFS. HBase depends on HDFS (Namenode, Datanodes) to perform operations like adding a file etc. So, if you a running cluster where HBase is also installed and you are upgrading HDFS to be HA i.e to Namenode-HA you should stop HBase service.

Also, as Artem mentioned above after upgrading the Namenode to HA, change the distributed file system URI in hbase-site.xml to the name specified in the dfs.nameservices property in hdfs-site.xml.

For example, suppose the HDFS HA property dfs.nameservices is set to mycluster in hdfs-site.xml. Specify that same value as below in hbase-site.xml's hbase.rootdir value:

<!-- Configure HBase to use the HA NameNode nameservice -->
<property>
  <name>hbase.rootdir</name>
  <value>hdfs://mycluster/hbase</value>
</property>

View solution in original post

8 REPLIES 8

avatar
Master Guru

Note that you need at least to restart HBase after configuring NN HA to give HBase a chance to pick up on the new configuration, instead of using only one NN. I guess strictly speaking you can keep HBase running, and restart it once NN HA is over, but it's better to stop it to avoid any inconsistencies and other troubles.

avatar
Master Mentor
When you enable HA, you essentially are changing name of the namenode with nameservers, you have to update hbase.rootdir property to reflect the nameservices ID and hence the stop.


  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://namenode.example.org:8020/hbase</value>
  </property>

avatar

HBase Distributed modes require an instance of HDFS. HBase depends on HDFS (Namenode, Datanodes) to perform operations like adding a file etc. So, if you a running cluster where HBase is also installed and you are upgrading HDFS to be HA i.e to Namenode-HA you should stop HBase service.

Also, as Artem mentioned above after upgrading the Namenode to HA, change the distributed file system URI in hbase-site.xml to the name specified in the dfs.nameservices property in hdfs-site.xml.

For example, suppose the HDFS HA property dfs.nameservices is set to mycluster in hdfs-site.xml. Specify that same value as below in hbase-site.xml's hbase.rootdir value:

<!-- Configure HBase to use the HA NameNode nameservice -->
<property>
  <name>hbase.rootdir</name>
  <value>hdfs://mycluster/hbase</value>
</property>

avatar
Super Collaborator

thank you, makes sense

avatar

Thanks @Viswa. Can you please upvote and accept the answer as well.

avatar
Super Collaborator

Sure will do, can you please also let me know what kind of preliminary checks I can do after configuring NameHA

avatar

These checks should suffice the health of HDFS:

https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.5.3/bk_command-line-upgrade/content/verify-hdfs...

Although the document is for manual upgrade, but the health checks should be good enough

avatar

@Viswa - Can we close this now?