HDP实操--NameNode开启高可用
为了确定在namenode组件失败后集群中有其他的namenode可以工作,需要对hdp集群配置高可用,当前我们配置的非安全集群的高可用。
前置条件:
(1)确保你的集群至少有3个节点并且至少有3个Apache ZooKeeper servers在运行。
(2)确保你的hdfs和zookeeper不在维护模式中。
(3) If you have HBase running, please exit this wizard and stop HBase first.
1、设置nameservice
Ambari的web页面,选择Services > HDFS > Summary。点击Actions,然后选择Enable NameNode HA。在Get Started 窗口,设置nameservice。
2、修改hive元数据配置
如果有安装的hive,在部署namenode ha的时候要修改hive metastore中的hdfs路径,将之前的hdfs配置修改成新设置的nameservice,可以执行一下命令:
在hive节点中执行命令查看当前hdfs配置:
hive --config /etc/hive/conf/conf.server --service metatool -listFSRoot
更改hdfs的root配置:
#hive --config /etc/hive/conf/conf.server --service metatool -updateLocation [NEW_LOCATION][OLD_LOCATION] hive --config /etc/hive/conf --service metatool -updateLocation hdfs://mycluster/apps/hive/warehouse hdfs://hdp001:8020/warehouse
3、集群中配置zookeeper的失败次数
页面中选择Services > HDFS > Configs > Advanced core-site,设置
ha.failover-controller.active-standby-elector.zk.op.retries=120。
4、增加组件
选择节点对另外的namenode组件和journalnode组件进行部署。
在Review页面,确定部署的节点然后点击next
5、create checkpoint
在Manual Steps Required: Create Checkpoint on NameNode 页面,要登录到之前的namenode节点,将namenode节点配置成安全模式并且创建checkpoint,当页面显示checkpoint已经创建的时候,选择next。
在Configure Components页面查看安装情况,部署完毕后点击next。
6、初始化jn组件
在Manual Steps Required: Initialize JournalNodes页面显示要对JournalNodes组件进行初始化,登录之前的namenode节点运行以下命令
7、在Start Components页面,监控zk和namenode的启动
8、 初始化nn组件
Manual Steps Required: Initialize NameNode HA Metadata,在这一步,需要登录之前的namenode节点和要增加的另一台namenode节点,执行对应命令,确定完成初始化metastore后点击next。