【提示】实现hadoop集群HA,是在已实现master,node1,node2三节点集群的基础上进行重新新规划。首先需停止原先集群的运行:stop-all.sh
1. zookeeper搭建:
点这里
2. 集群搭建
2.1. 集群规划如下:
ZK NN DN RM NM JN ZKFC
master 1 1 1 1 1
node1 1 1 1 1 1 1 1
node2 1 1 1 1
2.2. node1免密配置
ssh-keygen -t rsa
ssh-copy-id node1
ssh-copy-id node2
2.3. 更新修改hadoop,yarn 配置文件
文件已上传资源可直接下载
- core-site.xml
- hdfs-site.xml
- yarn-site.xml
- mapred-site.xml
直接上传覆盖
2.4. scp 复制到其他节点
scp -r hadoop/* node1:/usr/local/soft/hadoop-2.7.6/etc/hadoop/
scp -r hadoop/* node2:/usr/local/soft/hadoop-2.7.6/etc/hadoop/
2.5. 删除之前集群的tmp文件
rm -rf /usr/local/soft/hadoop-2.7.6/tmp
2.6. 启动zookeeper
三台都需要启动
zkServer.sh start
zkServer.sh status
2.7. 启动 journalnode
# 三台JN上执行 启动命令:
hadoop-daemon.sh start journalnode
2.8. 格式化集群
# 在master NN上执行
hdfs namenode -format
# 启动当前的NN
hadoop-daemon.sh start namenode
2.9. 同步第二个namenode
这里第二namenode在node1上 在没有格式化的(node1)NN上执行 :
hdfs namenode -bootstrapStandby
2.10. 格式化ZK
在已经启动的(master)namenode上面执行
hdfs zkfc -formatZK
2.11.启动hdfs集群
在启动了namenode的节点(master)上执行
start-dfs.sh
2.12.yarn 高可用
- 修改配置文件
yarn-site.xml mapred-site.xml 同步到所有节点 前面已做过
2.13.启动yarn
2.13.1 在master启动
start-yarn.sh
2.13.2 在node1启动
在另外一台主节点(node1)上启动resourcemanager
yarn-daemon.sh start resourcemanager
2.14 最后jps查看结果
3.测试集群高可用
3.1. 登录web界面
3.1.1 master:50070
active
3.1.2.node1:50070
standby
3.2 停止master的namenode
查看 node1的web界面已经由standby变为active
3.3 重新启动master的namenode
hadoop-daemon.sh start namenode
重新查看master的web界面 已经变为standby
|