首页 > 技术文章 > zookeeper实现Hadoop集群的高可用性

lycc0210 2021-11-22 22:37 原文

一、集群规划

高可用原理

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集群的高可用性,学习建议使用单节点模式,方便学习,配置完拍快照,建议恢复到之前拍的快照继续学习

推荐阅读