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
检查集群状态,模拟主节点故障,验证备节点是否自动切换。关键组件作用:
注意事项: