ubuntu

Ubuntu下HDFS如何配置高可用性

小樊
46
2025-11-29 03:24:48
栏目: 智能运维

Ubuntu下HDFS高可用性配置指南

一 架构与前置准备

二 配置步骤

  1. 安装并启动 ZooKeeper 集群(3 台或 5 台)
    • 配置 zoo.cfg 的 server 列表,启动每台节点的 ZooKeeper 服务,验证集群状态(如 zkServer.sh status)。
  2. 配置 HDFS 核心与 HA 参数
    • core-site.xml:设置 fs.defaultFS=hdfs://(如 hdfs://mycluster),以及 ha.zookeeper.quorum=zk1:2181,zk2:2181,zk3:2181
    • hdfs-site.xml:设置 dfs.nameservicesdfs.ha.namenodes.(如 nn1,nn2)、各 NameNode 的 rpc-addresshttp-addressdfs.namenode.shared.edits.dir=qjournal://jn1:8485;jn2:8485;jn3:8485/dfs.journalnode.edits.dirdfs.client.failover.proxy.provider.(如 ConfiguredFailoverProxyProvider)、dfs.ha.automatic-failover.enabled=truedfs.ha.fencing.methods=sshfencedfs.ha.fencing.ssh.private-key-files
  3. 同步配置到所有节点
    • 将 Hadoop 配置目录分发到 nn1、nn2、jn1/2/3 等所有节点,保持一致性。
  4. 启动 JournalNode 并初始化共享编辑日志
    • 在每台 JournalNode 上执行:hdfs --daemon start journalnode;在 nn1 上执行 hdfs namenode -format 初始化元数据;随后在 nn1 上启动 NameNode(hdfs --daemon start namenode),在 nn2 上执行 hdfs namenode -bootstrapStandby 同步元数据并启动 NameNode。
  5. 初始化并启动自动故障转移
    • 在任一 NameNode 上执行:hdfs zkfc -formatZK 初始化 ZK 故障转移根节点;启动 ZKFC(hdfs --daemon start zkfc)。
  6. 启动 DataNode
    • 在各 DataNode 上执行:hdfs --daemon start datanode。
  7. 验证
    • 使用 hdfs dfsadmin -report 查看节点与容量;访问 http://:9870 查看 NameNode Web UI 与 HA 状态;执行 hdfs haadmin -getServiceState nn1nn2 确认 Active/Standby。

三 关键配置示例

四 运维与验证

0
看了该问题的人还看了