记一次 Ambari Namenode 移动失败的恢复过程
问题:
Ambari 需要将 node1 的 active namenode 移到 node3,node2 的 standby namenode 移动到 node4
移动 standby name 时一切正常。
移动 active namenode 时失败。此时存在 3 个 namenode , hdfs cluster 有两个(node1,node4),node3有一个。
回退:
- 将 node3 上的 namenode 和 zkfc 删除。此时在 ambari 界面无法删除,只能通过 api 方式删除
查询得到确切的服务名称
curl -u admin:admin -H "X-Requested-By: ambari" -X GET http://hostxxx:8080/api/v1/clusters/clustername/hosts/node3/host_components/
删除 namenode 和 zkfc 服务
curl -u admin:admin -H "X-Requested-By: ambari" -X DELETE http://hostxxx:8080/api/v1/clusters/clustername/hosts/node3/host_components/NAMENODE
curl -u admin:admin -H "X-Requested-By: ambari" -X DELETE http://hostxxx:8080/api/v1/clusters/clustername/hosts/node3/host_components/ZKFC - 在 ambari 界面重启 node1 里的 zkfc 和 namenode
- 重启 node4 的 zkfc 和 namenode。此时报错
登录 node4 修改权限 chown -R hdfs:hdfs /hadoop/hdfs/namenode
重启 namenode 。此时报错
将 node1 的 active namenode 下的 namenode 持久化文件 copy 到 node4 standby namenode 的持久化文件夹下
scp -r /hadoop/hdfs/namenode/current/ [email protected]:/hadoop/hdfs/namenode/
重启 node4 的 namenode
重启其他报错的组件,问题解决。