从0开始部署hadoop HA集群,使用zk实现自动容灾

1.停掉所有hadoop进程

2删除所有节点的日志和本地数据
$xcall.sh "rm -rf /soft/hadoop/logs/"//这个操作实现删除所有节点的数据
$xcall.sh "rm -rf /home/centos/hadoop/
"

3.改换hadoop的符号连接为ha

4.登录每台JN节点主机,启动JN(journalNode)节点
[s201-s203
$>hadoop-daemon.sh start journalnode;

5.登录其中一个NN节点,格式化文件系统(s200)
$>hadoop namenode -format

6.复制s200目录下面nn的元数据到s206
$>scp -r ~/hadoop/* centos@s206:/home/centos/hadoop

7.在未格式化的NN(s206)节点上做standby引导
7.1)需要保证201的NN节点启动
$>hadoop-daemon.sh start namenode
7.2)登录s206上做节点引导
$>hdfs namenode -bootstrapStandby

7.3登录到s200将s200的edit日志初始化到JN节点
$>hdfs namenode -initializeSharedEdits

8.启动s206的名称节点和数据节点
$>hadoop-daemons.sh start datanode;
登录到s206启动namenode
$>hadoop-daemon.sh start namenode
9.查看webUI

10.自动容灾
10.1)介绍
自动容灾要引入两个组件,zk quarum+zk容灾控制器(ZKFC)
运行NN主机还要运行ZKFC进程,主要负责以下事务:
1)健康监控
2)session管理
3)选举
10.2部署自动容灾
a.停止所有进程:stop-all.sh
b.配置hdfs-site.sh,启用自动容灾
[hdfs-site.xml]

dfs.ha.automatic-failover.enabled
true

c.配置 core-site.xml [core-site.xml],指定zk的连接地址

ha.zookeeper.quorum
zk1.example.com:2181,zk2.example.com:2181,zk3.example.com:2181

d.分发两个文件到所有节点

11.在登录其中的一台NN(s200),在zk中初始化HA状态,然后使用以下命令
$>hdfs zkfc -formatZK

12.启动hdfs相关进程
start-dfs.sh
13.测试自动容灾(s200是活跃节点)
kill-9

posted @ 2018-07-10 20:12  shizeqi  阅读(655)  评论(0编辑  收藏  举报