zookeeper 学习总结(三)——linux上部署单机以及集群

时间秒杀一切 提交于 2020-02-01 19:57:29

一、单机环境部署

安装步骤

1、下载zookeeper包

官网下载地址: http://www.apache.org/dist/zookeeper/

百度网盘:

链接:https://pan.baidu.com/s/1UdR3rLqx4mO7n2vkILfCHA 提取码:k8b5

 

2、上传linux系统,解压缩压缩包

#解压到 /usr/local/server 目录下
tar -zxvf zookeeper-3.4.14.tar.gz -C /usr/local/server

 

3、进入 zookeeper-3.4.14 目录,创建 data 文件夹

cd zookeeper-3.4.14/
mkdir data

 

 

4、修改zoo.cfg中的data属性

#进入conf目录
cd conf
#修改 zoo_sample.cfg文件名为 zoo.cfg
mv zoo_sample.cfg zoo.cfg
​
#修改zoo.cfg中的data属性
dataDir=/usr/local/server/zookeeper-3.4.14/data

 

5、zookeeper 服务启动

进入bin目录,启动服务输入命令

./zkServer.sh start

 

输出以下内容表示启动成功

 

 

zkServer.sh常用命令

  • 服务启动

    ./zkServer.sh start

     

  • 关闭服务输入命令

    ./zkServer.sh stop

     

 

 

  • 查看状态

    ./zkServer.sh status

     

如果启动状态,提示

 

 

如果未启动状态,提示:

 

 

 

二、集群环境部署

  真实的集群是需要部署在不同的服务器上的,但是在我们测试时启动多个虚拟机的内存消耗太大,所以我们通常会搭建伪集群,也就是把所有的服务都搭建在一台虚拟机上,用端口进行区分。

 

准备工作

1、解压zookeeper到zkcluster的目录下,修改文件名为zookeeper-1,并复制两份分别为zookeeper-2,zookeeper-3

#创建zk集群应用目录
mkdir /usr/local/server/zkcluster
​
#解压zookeeper到zkcluster目录
tar -zxvf zookeeper-3.4.14.tar.gz -C /usr/local/server/zkcluster
​
#进入zkcluster目录,修改zk解压包名称,并复制两份
cd /usr/local/server/zkcluster
mv zookeeper-3.4.14/ zookeeper-1    #修改文件名称
cp -r zookeeper-1/ zookeeper-2      #复制文件夹
cp -r zookeeper-1/ zookeeper-3

2、在解压后的三个 Zookeeper-* 目录下创建data目录

cd .zookeeper-1
mkdir data

cd .zookeeper-2
mkdir data

cd .zookeeper-3
mkdir data

 

3、修改zoo.cfg中的data属性(三个zk都要修改)

#进入conf目录
cd conf

#修改 zoo_sample.cfg文件名为 zoo.cfg
mv zoo_sample.cfg zoo.cfg

#修改zoo.cfg中的data属性
dataDir=/usr/local/server/zkcluster/zookeeper-1/data

#修改三个zk服务端口
#zookeeper-1
clientPort=2181
#zookeeper-2
clientPort=2182
 #zookeeper-3
clientPort=2183

 

 

 

配置集群

(1)在每个zookeeper-*的 data 目录下创建一个 myid 文件,内容分别是1、2、3 。这个文件就是记录每个服务器的ID

#进入data目录
cd /usr/local/server/zkcluster/zookeeper-1/data/

#传进myid文件,并设置值(zookeeper-1为1 zookeeper-2为2 zookeeper-3为3)
touch myid

 

查看zookeeper-1的myid值:

 

 

(2)在每一个zookeeper 的 zoo.cfg配置客户端访问端口(clientPort)和集群服务器IP列表。

#server.服务器ID(myid)=服务器IP地址:服务器之间通信端口:服务器之间投票选举端口
server.1=192.168.126.99:2881:3881
server.2=192.168.126.99:2882:3882
server.3=192.168.126.99:2883:3883

 

 

启动集群

  依次zookeeper-1、zookeeper-2、zookeeper-3启动三个zk实例,服务启动时会发起选举,其中有一个leader和两个follower。按选举原则,leader为zookeeper-2 其他为follower。

  使用 ./zkServer.sh status查看状态如下:

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!