Support Questions

Find answers, ask questions, and share your expertise

How to configure namenode high availability

avatar
Expert Contributor

I am currently planning ahead in preparation to deploy a production cluster that will run using QJM NN HA. Reading this, all looks reasonable except when I get to the last step (15). It seems to instruct you to change configuration directly on the hosts. Won't that be overwritten by Ambari in subsequent pushes of other config updates? Shouldn't these changes be made via Ambari config changes?

1 ACCEPTED SOLUTION

avatar
@Mark Petronic

Step 15 isn't a configuration setting script. It is the step to update HiveMetastore with the NameService URI. Hence it's not expected to change when the services are restarted using Ambari. If it already lists the correct NameService URI, there is no need to re-run this command.

View solution in original post

4 REPLIES 4

avatar
Guru

You ask a good question, so I tested it out. I just ran through the wizard to enable NN HA, and then I ran the following command from Step 15:

hive --config /etc/hive/conf.server --service metatool -listFSRoot

The FS root was not the old value (which the documentation says it will be), but instead it was set to the correct value of my new Nameservice ID. I tested this using Ambari 1.7, so if you are using at least 1.7 you can ignore that last step.

I have a hunch that the documentation page is out of date and just needs to be updated.

avatar
@Mark Petronic

Step 15 isn't a configuration setting script. It is the step to update HiveMetastore with the NameService URI. Hence it's not expected to change when the services are restarted using Ambari. If it already lists the correct NameService URI, there is no need to re-run this command.

avatar
Expert Contributor

Thank you @vpoornalingam. That helps demystify this step. I tried the same query as @Rich Raposa and it did not list any of my FSRoots. Then I realized the --config path in the example is wrong for my install of Ambari 2.2 and HDP 2.3.0. It should be "/etc/hive/conf/conf.server". Using that I do get the expected listing.

[hive@vmwhaddev01 ~]$ hive --config /etc/hive/conf/conf.server --service metatool -listFSRoot
Initializing HiveMetaTool..
<info traces>
Listing FS Roots..
hdfs://vmwhaddev01:8020/apps/hive/warehouse
hdfs://vmwhaddev01:8020/apps/hive/warehouse/jupstats.db
hdfs://vmwhaddev01:8020/apps/hive/warehouse/aggregates.db
hdfs://vmwhaddev01:8020/apps/hive/warehouse/imports.db

avatar

@Mark Petronic

Thanks for the feedback. I would check this and get it fixed as appropriate.