Closed arvindshmicrosoft closed 4 years ago
This change allows using the nameservice_id as a stable and simple way to reference namenodes regardless of whether HA is used / or not
@arvindshmicrosoft with this change would it be ok to always use the nameservice id for hdfs_root
? I looked around for where it was set and found the following in ./lib/muchos/config/base.py
.
"hdfs_root": (
"{% if hdfs_ha %}hdfs://{{ nameservice_id }}{% else %}"
"hdfs://{{ groups['namenode'][0] }}:8020{% endif %}"
),
Explicitly specify the data directory for the non-HA checkpoint (secondary namenode) to use (in a non-HA config)
Was the secondary NN not working before this change?
Thank you @keith-turner, appreciate your review. Re: the 2 points you mentioned:
muchos wipe
would not clean up this folder, and I had noticed some weird problems between setup / wipe / setup cycles. Now that it is placed under the worker_data_dirs, the wipe
command does clean its contents up.
- Agreed, it should now be possible to just use the nameservice_id instead of the namenode[0]. I will push up an update.
@keith-turner I realized an issue which will prevent changing hdfs_root to use the nameservice_id right away: Since Fluo 1.2.0 does not have the recent fix to ensure hdfs-site.xml is loaded, switching hdfs_root to the nameservice will cause problems for running Fluo using Muchos. So here is what I propose:
I believe this will be a clean and safe way to proceed. Please let me know if you foresee any issues. If you are good, I will merge this PR and create tracking issues for the 2 follow-ups as mentioned above.
I believe this will be a clean and safe way to proceed. Please let me know if you foresee any issues. If you are good
I like that plan and I think this is ready to merged as is.
Merging this as per above discussion
Reference from Hadoop docs - though this is a doc for HDFS federation the specific change in this PR is orthogonal and merely aims to normalize hdfs-site.xml across both HA / standalone configurations.