zookeeper实现Hadoop集群的高可用性
一、集群规划
高可用原理

yarn资源调度原理

集群节点规划

二、搭建集群
注意:开始搭建之前务必关闭Hadoop
./stop-all.sh


1、免密钥设置 (远程执行命令)
在两个主节点生成密钥文件,master之前配置过,配置node1,原理相同
ssh-keygen -t rsa
ssh-copy-id master
ssh-copy-id node1
ssh-copy-id node2


2、修改hadoop配置文件
core-site.xml
hdfs-site.xml
(资源已上传,可以直接上传覆盖)

直接下载资源xftp上传覆盖配置文件
同步到其它节点
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


3、删除hadoop数据存储目录下的文件 每个节点都需要删除
rm -rf /usr/local/soft/hadoop-2.7.6/tmp

4、启动zookeeper 三台都需要启动
zkServer.sh start 启动
zkServer.sh status 查看状态



5、启动JN 存储hdfs元数据
三台JN上执行 启动命令:
hadoop-daemon.sh start journalnode



6、格式化 在一台NN上执行
hdfs namenode -format

启动当前的NN
hadoop-daemon.sh start namenode

7、执行同步 没有格式化的NN上执行 在另外一个namenode上面执行
hdfs namenode -bootstrapStandby

8、格式化ZK 在已经启动的namenode上面执行
!!一定要先 把zk集群正常 启动起来
hdfs zkfc -formatZK

9、启动hdfs集群,在启动了namenode的节点上执行
start-dfs.sh

10、yarn 高可用
1、修改配置文件
yarn-site.xml
mapred-site.xml

同步到所有节点
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、启动yarn 在master启动
start-yarn.sh

3、在另外一台主节点上启动RM
yarn-daemon.sh start resourcemanager

查看节点信息:




自动检测主备切换
现在master是主节点,没有什么问题


· 当我们手动杀死nanenode节点,重新加载web界面,发现主备切换,node1代替master',重新启动master中namenode,master变成备用节点,实现了Hadoop集群的高可用性
重启namenode节点
hadoop-daemon.sh start namenode



查看节点信息


到此就实现了Hadoop集群的高可用性,学习建议使用单节点模式,方便学习,配置完拍快照,建议恢复到之前拍的快照继续学习

浙公网安备 33010602011771号