在CentOS上配置HDFS高可用(HA)需通過多個組件協同工作,核心步驟如下:
/opt/zookeeper)。zoo.cfg,設置數據目錄(dataDir)、客戶端端口(clientPort)及集群節點信息(server.X格式,X為節點ID)。dataDir目錄下創建myid文件,內容為對應節點ID(如節點1寫1)。zkServer.sh start啟動ZooKeeper。修改core-site.xml
fs.defaultFS=hdfs://mycluster(mycluster為集群名稱)。ha.zookeeper.quorum=node1:2181,node2:2181,node3:2181。修改hdfs-site.xml
dfs.nameservices=mycluster,dfs.ha.namenodes.mycluster=nn1,nn2。dfs.namenode.rpc-address.mycluster.nn1=node1:8020,dfs.namenode.http-address.mycluster.nn1=node1:50070(類似配置nn2)。dfs.namenode.shared.edits.dir=qjournal://node1:8485;node2:8485;node3:8485/mycluster(需奇數個JournalNode)。dfs.ha.automatic-failover.enabled=true。dfs.ha.fencing.methods=sshfence,并指定私鑰路徑。格式化NameNode:在Active NameNode上執行hdfs namenode -format,初始化元數據。
hdfs dfsadmin -report查看集群狀態,確認NameNode角色。http://node1:50070)檢查高可用配置是否生效。參考來源: