ZooKeeper的集群部署和启动与关闭

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: ZooKeeper的集群部署和启动与关闭

ZooKeeper是一个分布式应用程序协调服务。一个ZooKeeper集群可以存在多个Follower和Observer服务器,但只允许存在一台Leader服务器。如果Leader服务器宕机,那么ZooKeeper集群的其它服务器会投票选举出一个新的Leader服务器,为防止投票数不过半,从而无法选举出新的Leader服务器现象,通常将ZooKeeper集群中服务器的数量规划为2n+1台,即奇数个。



一、ZooKeeper的集群部署步骤


下载ZooKeeper

访问Apache资源网站下载Linux操作系统的ZooKeeper安装包zookeeper-3.4.10.tar.gz。

上传ZooKeeper安装包

使用SecureCRT远程连接工具连接虚拟机Spark01,在存放应用安装包的目录/export/software/下执行“rz”命令上传ZooKeeper安装包。


安装ZooKeeper

在虚拟机Spark01中,通过解压缩的方式安装ZooKeeper,将ZooKeeper安装到存放应用的目录/export/servers/。命令如下:

tar -zxvf /export/software/zookeeper-3.4.10.tar.gz -C /export/servers/

创建ZooKeeper配置文件

在虚拟机Spark01中,进入ZooKeeper安装目录下的conf目录,复制ZooKeeper的配置文件模


板“zoo_sample.cfg”并命名为“zoo.cfg”。命令如下:

cp zoo_sample.cfg zoo.cfg

修改ZooKeeper配置文件

在虚拟机Spark01中,进入ZooKeeper安装目录下的conf目录,执行“vi zoo.cfg”命令编辑ZooKeeper配置文件zoo.cfg,修改参数“dataDir”配置存储快照文件的目录,添加参数“server.x”指定ZooKeeper集群包含的服务器。参数如下:

dataDir=/export/data/zookeeper/zkdata
server.1=spark01:2888:3888
server.2=spark02:2888:3888
server.3=spark03:2888:3888


创建存储快照文件的目录

在虚拟机Spark01中创建参数dataDir配置存储快照文件的目录 。命令如下:

mkdir -p /export/data/zookeeper/zkdata

创建存储快照文件

分别在虚拟机Spark01、Spark02和Spark03 的/export/data/zookeeper/zkdata目录中创建myid文件,在虚拟机Spark01的myid文件中写入值1,在虚拟机Spark02的myid文件中写入值2,在虚拟机Spark03的myid文件中写入值3。值分别如下:

097ff1b501b9439688e13605519aebeb.png


   配置ZooKeeper环境变量

   在虚拟机Spark01,执行“vi /etc/profile”命令编辑系统环境变量文件profile,配置ZooKeeper环境变量。如下:


export ZK_HOME=/export/servers/zookeeper-3.4.10
export PATH=$PATH:$ZK_HOME/bin

系统环境变量文件profile配置完成后保存并退出即可,随后执行“source /etc/profile”命令初始化系统环境变量使配置内容生效。

   配置ZooKeeper

   为了便于快速配置集群中其它服务器,需要将虚拟机Spark01中的ZooKeeper安装目录和系统环境变量文件分发到虚拟机Spark02和Spark03。命令如下:


#将ZooKeeper安装目录分发到虚拟机Spark02和Spark03
$ scp -r /export/servers/zookeeper-3.4.10/ root@spark02:/export/servers/
$ scp -r /export/servers/zookeeper-3.4.10/ root@spark03:/export/servers/
#将系统环境变量文件分发到虚拟机Spark02和Spark03
$ scp /etc/profile root@spark02:/etc/
$ scp /etc/profile root@spark03:/etc/

完成分发操作后,分别在虚拟机Spark02和Spark03中执行“source /etc/profile”命令初始化系统环境变量。




二、ZooKeeper集群启动与关闭


  1. 启动ZooKeeper集群

分别在虚拟机Spark01、Spark02和Spark03中执行“zkServer.sh start”命令启动ZooKeeper服务。分别如下图所示:



  • 查看ZooKeeper服务状态
    分别在虚拟机Spark01、Spark02和Spark03中执行“zkServer.sh status”命令查看ZooKeeper服务状态。分别如下图所示:


好了,ZooKeeper的集群部署和启动与关闭还是比较简单的,我们就讲到这里了,下一篇我们将讲解Hadoop的集群部署和启动与关闭


相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
1月前
|
算法 Java Linux
zookeeper单机伪集群集群部署
zookeeper单机伪集群集群部署
86 0
|
分布式计算 监控 Hadoop
zookeeper 集群部署模式
zookeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 google chubby 的开源实现,是 hadoop 和 hbase 的重要组件。
214 0
|
大数据 Linux
大数据组件-Zookeeper集群部署
大数据组件-Zookeeper集群部署
大数据组件-Zookeeper集群部署
|
网络协议 Linux 网络安全
Zookeeper 集群部署的那些事儿(2)
Zookeeper 集群部署的那些事儿
161 0
Zookeeper 集群部署的那些事儿(2)
|
存储 负载均衡 监控
Zookeeper 集群部署的那些事儿(1)
Zookeeper 集群部署的那些事儿
139 0
Zookeeper 集群部署的那些事儿(1)
|
消息中间件 存储 分布式计算
zookeeper集群 +kafka 集群部署(下)
为什么需要消息列队(MQ)   主要原因是由于在高并发环境下,同步请求来不及处理,请求往往会发生阻塞。比如大量的请求并发访问数据库,导致行锁表锁,最后请求线程会堆积过多,从而触发 too many connection 错误,引发雪崩效应。 我们使用消息队列,通过异步处理请求,从而缓解系统的压力。消息队列常应用于异步处理,流量削峰,应用解耦,消息通讯等场景。 当前比较常见的 MQ 中间件有 ActiveMQ、RabbitMQ、RocketMQ、Kafka 等
zookeeper集群 +kafka 集群部署(下)
|
存储 消息中间件 负载均衡
zookeeper集群 +kafka 集群部署(上)
Zookeeper 定义 zookeeper是一个开源的分布式的,为分布式框架提供协调服务的Apache项目 Zookeeper 工作机制 Zookeeper是–个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册, 一旦这些数据的状态发生变化,Zookeeper就将负责通知已经在Zookeeper上注册的那些客户端做出相应的反应。 也就是说Zookeeper =文件系统+通知机制
zookeeper集群 +kafka 集群部署(上)
|
存储
Zookeeper集群部署与配置(三)
Zookeeper集群部署与配置(三)
157 0
|
消息中间件 存储 Java
消息中间件kafka+zookeeper集群部署、测试与应用
业务系统中,通常会遇到这些场景:A系统向B系统主动推送一个处理请求;A系统向B系统发送一个业务处理请求,因为某些原因(断电、宕机。。),B业务系统挂机了,A系统发起的请求处理失败;前端应用并发量过大,部分请求丢失或后端业务系统卡死。
2132 1