基于ambari-NameNode开启高可用(HA)

此文章只是实操测试记录,
更多细节建议查看官方文档启用NameNode高可用

  1. HDFS=>ACTIONS=>Enable NameNode HA
    基于ambari-NameNode开启高可用(HA)_第1张图片

  2. 如果Hbase正在运行,需要先停止Hbase
    基于ambari-NameNode开启高可用(HA)_第2张图片

  3. 填写一个Nameservice ID
    基于ambari-NameNode开启高可用(HA)_第3张图片

  4. 为NameNode和JournalNodes选择主机
    基于ambari-NameNode开启高可用(HA)_第4张图片

  5. 确认选择,下一步
    基于ambari-NameNode开启高可用(HA)_第5张图片

  6. 登录到NameNode主机进入安全模式创建检查点,如果已经创建过(即下一步按钮为绿色可点击状态),可以直接下一步

sudo su hdfs -l -c 'hdfs dfsadmin -safemode enter'
sudo su hdfs -l -c 'hdfs dfsadmin -saveNamespace'

基于ambari-NameNode开启高可用(HA)_第6张图片
7. 等待进度完成后下一步
基于ambari-NameNode开启高可用(HA)_第7张图片
8. 登录到NameNode主机进行JournalNodes初始化,然后下一步

sudo su hdfs -l -c 'hdfs namenode -initializeSharedEdits'

基于ambari-NameNode开启高可用(HA)_第8张图片
9. 等待完成,下一步
基于ambari-NameNode开启高可用(HA)_第9张图片
10. 初始化NameNode元数据, 初始化后进行下一步

# 根据提示执行

# 登录节点1执行
sudo su hdfs -l -c 'hdfs zkfc -formatZK'

# 登录节点2执行
sudo su hdfs -l -c 'hdfs namenode -bootstrapStandby'
  1. 等待进度完成

  2. 如果使用Hive,需要更改Hive的数据指向
    PS:在实操时,发现系统已自动调整好,可能是新版本已经不需要手动做下面操作

# 在hive节点查看
hive --config /etc/hive/conf/conf.server --service metatool -listFSRoot

# 例如 Nameservice ID 是 mycluster
 hive --config /etc/hive/conf/conf.server --service metatool -updateLocation hdfs://mycluster/apps/hive/warehouse hdfs://c6401.ambari.apache.org/apps/hive/warehouse

修改配置Services > HDFS > Configs > Advanced core-site
设置ha.failover-controller.active-standby-elector.zk.op.retries=120

  1. 测试
    正常情况下两台NameNode状态一台为ACTIVE NAMENODE, 一台为STANDBY NAMENODE。
    手动关闭ACTIVE NAMENODE,STANDBY NAMENODE接管服务,状态变为ACTIVE NAMENODE,服务正常。

你可能感兴趣的:(ambari相关,hdfs)