在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
)检查高可用配置是否生效。参考来源: