HDFS配置高可用性需通过主备NameNode、JournalNode、ZooKeeper等组件协作实现,核心步骤如下:
集群规划
配置关键参数(hdfs-site.xml)
dfs.nameservices:定义集群逻辑名称(如mycluster)。dfs.ha.namenodes.<nameservice_id>:列出NameNode ID(如nn1,nn2)。dfs.namenode.rpc-address/http-address:配置主备NameNode的RPC和HTTP地址。dfs.namenode.shared.edits.dir:指定JournalNode存储编辑日志的路径(如qjournal://node1:8485;node2:8485;node3:8485/mycluster)。dfs.client.failover.proxy.provider:设置为ConfiguredFailoverProxyProvider,实现客户端自动切换。配置核心组件(core-site.xml)
fs.defaultFS:指定集群默认访问路径(如hdfs://mycluster)。ha.zookeeper.quorum:配置ZooKeeper集群地址(如node1:2181,node2:2181,node3:2181)。启动与验证
hdfs dfsadmin -report检查集群状态,模拟主节点故障,验证备节点是否自动切换。关键组件作用:
注意事项: