大数据讲课笔记6.4 ZooKeeper分布式集群部署

Posted howard2005

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据讲课笔记6.4 ZooKeeper分布式集群部署相关的知识,希望对你有一定的参考价值。

文章目录

零、学习目标

  1. 能正确安装ZooKeeper
  2. 能正确配置ZooKeeper
  3. 能正确启动和关闭ZooKeeper服务

一、导入新课

  • 通过上节课的学习,我们对ZooKeeper提供的选举机制有了一定的认识。要想深入学习和掌握ZooKeeper的相关应用,首先必须得学会部署一个属于自己的ZooKeeper集群。本节课将针对ZooKeeper分布式集群的部署进行详细讲解。

二、新课讲解

(一)ZooKeeper分布式集群部署

  • ZooKeeper分布式集群部署指的是ZooKeeper分布式模式安装。ZooKeeper集群搭建通常是由2n+1台服务器组成,这是为了保证 Leader 选举(基于Paxos算法的实现)能够通过半数以上台服务器选举支持,因此,ZooKeeper集群的数量一般为奇数台。

(二)下载解压ZooKeeper安装包

  • 由于ZooKeeper集群运行需要Java环境支持,所以要提前安装JDK(对于jdk的下载安装这里不作赘述)。

1、下载ZooKeeper安装包

2、上传ZooKeeper安装包

  • 将下载完毕的ZooKeeper安装包上传至master虚拟机/opt目录

3、解压ZooKeeper安装包

  • 将ZooKeeper安装包解压到指定目录/usr/local,执行命令:tar -zxvf apache-zookeeper-3.8.0-bin.tar.gz -C /usr/local
  • 执行命令:ll /usr/local
  • 执行命令:mv /usr/local/apache-zookeeper-3.8.0-bin /usr/local/zookeeper-3.8.0

(三)ZooKeeper相关配置

1、在master虚拟机上配置ZooKeeper

(1)配置环境变量

  • 执行命令:vim /etc/profile
export ZOOKEEPER_HOME=/usr/local/zookeeper-3.8.0
export PATH=$ZOOKEEPER_HOME/bin:$PATH
  • 存盘退出,执行命令:source /etc/profile,让环境配置生效

(2)配置ZooKeeper

  • 进入ZooKeeper配置目录,将zoo_sample.cfg配置文件重命名为zoo.cfg
  • 执行命令:vim zoo.cfg,指定dataDir目录、配置服务器编号与主机名映射关系、设置与主机连接的心跳端口和选举端口

(3)创建myid文件

  • 根据配置文件zoo.cfg设置的dataDir目录,创建ZkData文件夹,在该文件夹里并创建myid文件,内容就是服务器编号

2、分发ZooKeeper到slave1虚拟机

  • 执行命令:scp -r $ZOOKEEPER_HOME root@slave1:$ZOOKEEPER_HOME
  • 执行命令:scp /etc/profile root@slave1:/etc
  • 切换到slave1虚拟机,执行命令:source /etc/profile,让环境配置生效
  • 进入ZkData目录,将myid文件内容改成2

3、分发ZooKeeper到slave2虚拟机

  • 执行命令:scp -r $ZOOKEEPER_HOME root@slave2:$ZOOKEEPER_HOME
  • 执行命令:scp /etc/profile root@slave2:/etc
  • 切换到slave2虚拟机,执行命令:source /etc/profile,让环境配置生效
  • 进入ZkData目录,将myid文件内容改成3

(四)启动和关闭ZooKeeper服务

1、启动ZooKeeper服务

  • 在master虚拟机上执行命令:zkServer.sh start
  • 在slave1虚拟机上执行命令:zkServer.sh start
  • 在slave2虚拟机上执行命令:zkServer.sh start
  • 查看三个虚拟机上ZooKeeper服务状态,执行命令:zkServer.sh status


  • 在ZooKeeper集群中,slave1节点上的ZooKeeper是leader(老大),master和slave2节点上的ZooKeeper是follower(小弟)。

2、关闭ZooKeeper服务

  • 在三个虚拟机上执行命令:zkServer.sh stop
  • 单击【发送】按钮


  • 在三个虚拟机上执行命令:clearzkServer.sh status
  • 单击【发送】命令


三、归纳总结

  • 回顾本节课所讲的内容,并通过提问的方式引导学生解答问题并给予指导。

四、上机操作

  • 形式:单独完成
  • 题目:搭建ZooKeeper集群
  • 要求:让学生自己按照步骤配置ZooKeeper集群,并进行启动和关闭ZooKeeper服务的操作,以此来巩固本节的学习内容。写一篇CSDN博客,记录操作过程。

以上是关于大数据讲课笔记6.4 ZooKeeper分布式集群部署的主要内容,如果未能解决你的问题,请参考以下文章

大数据讲课笔记6.1 初识ZooKeeper

大数据讲课笔记6.2 ZooKeeper数据模型

大数据讲课笔记3.2 Hadoop部署模式

大数据讲课笔记6.5 ZooKeeper的Shell操作

大数据讲课笔记6.5 ZooKeeper的Shell操作

大数据讲课笔记6.6 ZooKeeper的Java API操作