在 HA HDFS 设置中更新集群 ID/name

Updating the cluster ID/name in a HA HDFS setup

我需要在 HA 的 运行 HDFS 设置中更新 "dfs.nameservices"。仅更改 属性 会导致 journalnodes 在启动时抱怨并且没有选出 master。请注意,我确实有一些数据不想丢失,因此重新格式化可能不是解决办法。

HBase 也在这个 HDFS 设置之上 运行,我需要特别注意那里的任何东西吗?

通过反复试验,我最终设法做到了这一点:

  1. 正在停止集群上的所有 HDFS 进程
  2. 更新 core-file.xml 中的 "fs.defaultFS",以及 hdfs-site.xml 中提到旧 "dfs.nameservices" 值的所有属性。
  3. 启动所有日志节点
  4. 运行 "hdfs namenode -initializeSharedEdits" 在名称节点上
  5. 运行 "hdfs zkfc -formatZK" 在名称节点上
  6. 再次启动所有HDFS进程