从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]
c.配置 core-site.xml [core-site.xml],指定zk的连接地址
d.分发两个文件到所有节点
11.在登录其中的一台NN(s200),在zk中初始化HA状态,然后使用以下命令
$>hdfs zkfc -formatZK
12.启动hdfs相关进程
start-dfs.sh
13.测试自动容灾(s200是活跃节点)
kill-9