我一直在尝试使用quorum journal方法(使用以下步骤)将当前的4节点非ha集群转换为ha集群(手动-不使用zookeeper),但是在执行故障转移时,两个namenodes都拒绝退出安全模式。如果我们强行将其从安全模式中删除,会导致数据丢失。
stop-dfs:$hadoop\u home/sbin/stop-dfs.sh
停止Yarn:$hadoop\u home/sbin/stop-yarn.sh
- 用ha配置替换hdfs-site.xml和core-site.xml
删除所有journalnode编辑,以便所有fsimages都是新的和同步的:rm-rf/path-to-edits/*
在每个框上启动日志节点:hdfs—daemon start journalnode
在主namenode上运行:hdfs namenode-initializeSharedIts
在主namenode上运行:hdfs—daemon start namenode
在ha namenode(第二个namenode框)上运行:hdfs namenode-bootstrapstandby
start ha namenode(第二个namenode框):hdfs—守护进程start namenode
hdfs—守护程序启动datanode(在所有datanode上)
hdfs haadmin-故障转移nn2 nn1
错误:故障转移失败。报告的块1968810需要额外的5071个块才能达到总块1975856的阈值0.9990。安全模式将自动关闭。“
所有namenode、datanode和journalnode日志都不会抛出任何显式错误。有没有一种方法可以成功地实现转换而不让namenodes陷入safemode?我是否遗漏了任何步骤或需要添加的步骤来实现这一点?
暂无答案!
目前还没有任何答案,快来回答吧!