TT Bigdata TT Bigdata
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件安装

    • 常规&高可用
  • 版本专题

    • 更新说明
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 模板代码

    • 各类组件
    • 通用模板
  • 国产化&其他系统

    • Centos系列
    • Kylin系列
    • OpenEuler系列
    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 定制开发

    • 组件版本定制
    • 样式风格定制
  • 蓝图愿景
  • 技术支持
  • 合作共建
GitHub (opens new window)

JaneTTR

数据酿造智慧,每一滴都是沉淀!
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件安装

    • 常规&高可用
  • 版本专题

    • 更新说明
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 模板代码

    • 各类组件
    • 通用模板
  • 国产化&其他系统

    • Centos系列
    • Kylin系列
    • OpenEuler系列
    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 定制开发

    • 组件版本定制
    • 样式风格定制
  • 蓝图愿景
  • 技术支持
  • 合作共建
GitHub (opens new window)
  • 最小化安装

  • 高可用安装(有难度)

    • Zookeeper
    • Hadoop-Namenode
      • 如何通过 Ambari 配置 Hadoop Namenode 高可用
      • 1. 进入 HDFS 服务
      • 2. 点击开启 Namenode HA
      • 3. 配置 Nameservice ID
      • 4. 配置节点
      • 5. 配置检查点
      • 6. 初始化 JournalNode
      • 7. 启动组件
      • 8. 格式化 ZooKeeper 和 Namenode
      • 9. 初始化 Standby NameNode
      • 10. 完成设置
      • 11. 验证高可用性
    • Yarn-ResourceManager
    • Hive
    • Hbase
    • Kafka
    • DolphinScheduler
    • Redis
    • Doris
    • Celeborn
    • Ozone
  • 组件安装
  • 高可用安装(有难度)
JaneTTR
2023-03-02
目录

Hadoop-Namenode

# 如何通过 Ambari 配置 Hadoop Namenode 高可用

在本篇文章中,我们将通过 Ambari 配置 Hadoop Namenode 高可用 (HA)。Namenode 高可用是 HDFS 中确保高可用性的关键步骤,可以避免单点故障,确保 Hadoop 集群的持续运行。我们将通过以下步骤完成配置。

# 1. 进入 HDFS 服务

首先,进入 Ambari 管理界面,找到 HDFS 服务并点击进入。

提示

确保你的集群已经安装并配置好 HDFS 服务。如果没有,可以参考其他相关文档进行安装。

进入 HDFS 服务

# 2. 点击开启 Namenode HA

在 HDFS 页面右上角,找到并点击 Actions 按钮,在下拉菜单中选择 Enable Namenode HA(开启 Namenode 高可用)。

注意

开启 Namenode HA 时,集群将会经历一段时间的停机,请提前规划并通知相关人员。

开启 Namenode HA

# 3. 配置 Nameservice ID

在弹出的 Namenode HA Wizard 页面中,输入 Nameservice ID,通常我们可以使用类似 TT-Bigdata 的命名。输入完毕后,点击 Next。

提示

如果你的集群中没有安装 HBase,可以直接跳过相关步骤,进入下一步。

配置 Nameservice ID

# 4. 配置节点

在选择节点页面,你需要为 Current NameNode 和 Additional NameNode 选择合适的节点。确保为你的集群选择一个额外的 NameNode 节点,并为 JournalNode 节点配置对应的机器。

警告

确保为每个节点配置正确的角色,避免由于配置错误导致集群无法正常运行。

选择节点

# 5. 配置检查点

系统会提示你手动创建检查点。在创建检查点之前,请先确保你的 NameNode 处于 SafeMode 状态,然后运行以下命令:

创建检查点

su hdfs
hdfs dfsadmin -safemode enter
hdfs dfsadmin -saveNamespace
1
2
3

执行成功后,界面上的按钮将会更新为 "Checkpoint created",然后你可以继续下一步。 创建完毕后

点击下一步

# 6. 初始化 JournalNode

在 Namenode HA Wizard 页面中,你将看到 JournalNode 未初始化的提示。你需要在 hadoop1 节点上执行以下命令来初始化:

su hdfs
hdfs namenode -initializeSharedEdits
1
2

执行后,界面上的提示会更新为 JournalNode initialized。

初始化 JournalNode 初始化 组件

# 7. 启动组件

当所有配置完成并且检查点创建成功后,你可以点击 Start Components 按钮,启动 ZooKeeper 和 NameNode 服务。确保它们的状态为 Started。 等待重启

# 8. 格式化 ZooKeeper 和 Namenode

初始化 Standby NameNode

在 hadoop1 节点上,你需要格式化 ZooKeeper:

su hdfs
hdfs zkfc -formatZK
1
2

此时,你会看到 ZooKeeper 格式化成功的日志。

23/03/02 18:17:10 INFO zookeeper.ClientCnxn: Opening socket connection to server hadoop1/192.168.3.1:2181. Will not attempt to authenticate using SASL (unknown error)
23/03/02 18:17:10 INFO zookeeper.ClientCnxn: Socket connection established, initiating session, client: /192.168.3.1:54620, server: hadoop1/192.168.3.1:2181
23/03/02 18:17:10 INFO zookeeper.ClientCnxn: Session establishment complete on server hadoop1/192.168.3.1:2181, sessionid = 0x100006b97c70000, negotiated timeout = 10000
23/03/02 18:17:10 INFO ha.ActiveStandbyElector: Session connected.
23/03/02 18:17:10 INFO ha.ActiveStandbyElector: Successfully created /hadoop-ha/TT-Bigdata in ZK.
23/03/02 18:17:10 INFO zookeeper.ZooKeeper: Session: 0x100006b97c70000 closed
23/03/02 18:17:10 WARN ha.ActiveStandbyElector: Ignoring stale result from old client with sessionId 0x100006b97c70000
23/03/02 18:17:10 INFO zookeeper.ClientCnxn: EventThread shut down for session: 0x100006b97c70000
23/03/02 18:17:10 INFO tools.DFSZKFailoverController: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down DFSZKFailoverController at hadoop1/192.168.3.1
************************************************************/
1
2
3
4
5
6
7
8
9
10
11
12

格式化 ZooKeeper

# 9. 初始化 Standby NameNode

接下来,在 hadoop2 节点上,你需要运行以下命令来初始化 Standby NameNode:

su hdfs
hdfs namenode -bootstrapStandby
1
2

执行此命令后,Standby NameNode 将会初始化,状态会更新为 Standby。

23/03/02 18:21:01 INFO namenode.NameNode: createNameNode [-bootstrapStandby]
23/03/02 18:21:01 INFO ha.BootstrapStandby: Found nn: nn1, ipc: hadoop1/192.168.3.1:8020
23/03/02 18:21:02 INFO common.Util: Assuming 'file' scheme for path /hadoop/hdfs/namenode in configuration.
23/03/02 18:21:02 INFO common.Util: Assuming 'file' scheme for path /hadoop/hdfs/namenode in configuration.
=====================================================
About to bootstrap Standby ID nn2 from:
           Nameservice ID: TT-Bigdata
        Other Namenode ID: nn1
  Other NN's HTTP address: http://hadoop1:50070
  Other NN's IPC  address: hadoop1/192.168.3.1:8020
             Namespace ID: 283775065
            Block pool ID: BP-606524264-192.168.3.1-1743931892386
               Cluster ID: CID-d7e4b39a-f835-40ac-915f-b1ccbbd9607f
           Layout version: -66
       isUpgradeFinalized: true
=====================================================
23/03/02 18:21:02 INFO common.Storage: Storage directory /hadoop/hdfs/namenode has been successfully formatted.
23/03/02 18:21:02 INFO common.Util: Assuming 'file' scheme for path /hadoop/hdfs/namenode in configuration.
23/03/02 18:21:02 INFO common.Util: Assuming 'file' scheme for path /hadoop/hdfs/namenode in configuration.
23/03/02 18:21:02 WARN common.Storage: set restore failed storage to true
23/03/02 18:21:02 INFO namenode.FSEditLog: Edit logging is async:true
23/03/02 18:21:02 INFO namenode.TransferFsImage: Opening connection to http://hadoop1:50070/imagetransfer?getimage=1&txid=8&storageInfo=-66:283775065:1743931892386:CID-d7e4b39a-f835-40ac-915f-b1ccbbd9607f&bootstrapstandby=true
23/03/02 18:21:02 INFO common.Util: Combined time for file download and fsync to all disks took 0.00s. The file download took 0.00s at 0.00 KB/s. Synchronous (fsync) write to disk of /hadoop/hdfs/namenode/current/fsimage.ckpt_0000000000000000008 took 0.00s.
23/03/02 18:21:02 INFO namenode.TransferFsImage: Downloaded file fsimage.ckpt_0000000000000000008 size 624 bytes.
23/03/02 18:21:02 INFO ha.BootstrapStandby: Skipping InMemoryAliasMap bootstrap as it was not configured
23/03/02 18:21:02 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at hadoop2/192.168.3.2
************************************************************/
[hdfs@hadoop2 root]$
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

# 10. 完成设置

等待所有服务启动并完成初始化后,你会看到 Namenode HA 设置完成的提示。此时,你可以点击 Done 按钮完成配置。

完成设置

等待重启

# 11. 验证高可用性

回到 Ambari 首页,你会看到 HDFS 服务的 Active NameNode 和 Standby NameNode 都已成功启动,并且高可用配置已经生效。

HDFS 高可用

至此,我们已经成功完成了 Hadoop Namenode 高可用 配置,确保了 HDFS 的高可用性。

#Ambari#Hadoop HDFS#高可用
Zookeeper
Yarn-ResourceManager

← Zookeeper Yarn-ResourceManager→

最近更新
01
Pandoc 缺失导致 SparkR 构建失败
06-08
02
Cyrus SASL/GSASL 缺失解决
06-07
03
Hadoop_3.3.4 编译实战 1.0.0+
06-06
更多文章>
Theme by Vdoing | Copyright © 2017-2025 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式