我的架构梦:(二十一)Zookeeper单机模式以及伪集群模式环境搭建

一、单机模式

1、下载

wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

如果出现 -bash: wget: 未找到命令,则需要安装wget命令。

yum -y install wget

安装完wget后,出现下面这个图,发现wget下载的时候,还是会提示未找到命令。

我的架构梦:(二十一)Zookeeper单机模式以及伪集群模式环境搭建_第1张图片
这个时候,你就要用这个命令yum remove -y wget-1.14-18.el7_6.1.x86_64 先卸载之前的,再yum -y install wget

这下你就可以成功下载zookeeper-3.4.14.tar.gz了。

2、解压

tar -zxvf zookeeper-3.4.14.tar.gz

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

 cd zookeeper-3.4.14 
 mkdir data

4、修改配置文件

cd conf
mv zoo_sample.cfg zoo.cfg

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

dataDir=/root/zookeeper-3.4.14/data

6、zookeeper服务启动

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

./zkServer.sh start

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

在这里插入图片描述

7、关闭服务命令

./zkServer.sh stop

在这里插入图片描述

8、查看状态

./zkServer.sh status

如果启动状态,提示:

在这里插入图片描述

如果未启动状态,提示:

在这里插入图片描述

二、伪集群模式

Zookeeper不仅可以在单机上运行单机模式Zookeeper,而且还可以在单机模拟集群模式Zookeeper的运行,也就是将不同实例运行在同一台机器,用端口进行区分,伪集群模式为我们体验Zookeeper和做一些尝试性的实验提供了很大的遍历。

注意事项:

一台机器上部署3个server,也就是说单台机器上运行多个Zookeeper实例。在这种情况下,必须保证每个配置文档的各个端口号不能冲突,除了clientPort端口不同以外,dataDir也要不同。另外,还要在dataDir所对应的目录中创建myid文件来指定对应的Zookeeper服务器实例。

  • clientPort端口

    如果在1台机器上部署多个server,那么每台机器都要不同的clientPort,比如server12181server22182server32183

  • dataDirdataLogDir

    dataDirdataLogDir也需要区分下,将数据文件和日志文件分开存放,同时每个server的这两变量所对应的路径都是不同的。

  • server.Xmyid
    server.X这个数字就是对应data/myid中的数字。在3个servermyid文件中分别写入了1,2,3,那么每个serverzoo.cfg都配server1,server2,server3就行了。因为在同一台机器上,后面连着的两个端口,3个server都不要一样,否则端口冲突。

1、下载

wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

2、创建目录

mkdir /usr/local/zkcluster

3、解压到zkcluster目录下

tar -zxvf zookeeper-3.4.14.tar.gz -C /usr/local/zkcluster

4、改变名称

mv zookeeper-3.4.14 zookeeper01

5、复制并改名

cp -r zookeeper01/ zookeeper02 
cp -r zookeeper01/ zookeeper03

6、分别在zookeeper01、zookeeper02、zookeeper03目录下创建data以及logs目录

mkdir data
cd data
mkdir logs

这里为了方便,我开启了三个窗口分别创建zookeeper01、zookeeper02、zookeeper03相应的目录。

我的架构梦:(二十一)Zookeeper单机模式以及伪集群模式环境搭建_第2张图片

7、修改配置文件名称

cd conf
mv zoo_sample.cfg zoo.cfg

8、配置ZookeeperclientPort、dataDir、dataLogDir

vim zoo.cfg

zoo.cfg底部分别添加

clientPort=2181 
dataDir=/usr/local/zkcluster/zookeeper01/data 
dataLogDir=/usr/local/zkcluster/zookeeper01/data/logs
clientPort=2182
dataDir=/usr/local/zkcluster/zookeeper02/data 
dataLogDir=/usr/local/zkcluster/zookeeper02/data/logs
clientPort=2183
dataDir=/usr/local/zkcluster/zookeeper03/data 
dataLogDir=/usr/local/zkcluster/zookeeper03/data/logs

9、配置集群

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

touch myid

(2)、在每一个Zookeeperzoo.cfg配置客户端访问端口和集群服务器IP列表(我这里是阿里云内网地址)。

server.1=172.18.129.188:2881:3881
server.2=172.18.129.188:2882:3882
server.3=172.18.129.188:2883:3883

10、启动集群

依次启动三个zk实例

其中有一台是 leader
我的架构梦:(二十一)Zookeeper单机模式以及伪集群模式环境搭建_第3张图片
另外两台是 follower

我的架构梦:(二十一)Zookeeper单机模式以及伪集群模式环境搭建_第4张图片

这样我们就搭建好了Zookeeper单机模式以及伪集群模式环境!!!

你可能感兴趣的:(我的架构梦)