阿里云服务器搭建zookeeper伪静态集群

1)准备工作
  1. 安装JDK
  2. 将Zookeeper上传到服务器
[root@iZ2ze5v2vdwv6veyksylhxZ /]# cd /usr/local/
[root@iZ2ze5v2vdwv6veyksylhxZ local]# ls
aegis                        bin    include       libexec   nginx          rocketmq                       src
apache-maven-3.6.3           curl   jdk1.8.0_281  libiconv  openssl        rocketmq-console-ng-1.0.1.jar  tengine
apache-tomcat-7.0.61         etc    lib           man       redis_bloom    sbin                           yum-3.2.28
apache-tomcat-7.0.61.tar.gz  games  lib64         mysql     redisbloom.so  share                          yum-3.2.28.tar.gz
[root@iZ2ze5v2vdwv6veyksylhxZ local]# mkdir zookeeper
[root@iZ2ze5v2vdwv6veyksylhxZ local]# ls
aegis                        curl          lib       mysql          rocketmq                       tengine
apache-maven-3.6.3           etc           lib64     nginx          rocketmq-console-ng-1.0.1.jar  yum-3.2.28
apache-tomcat-7.0.61         games         libexec   openssl        sbin                           yum-3.2.28.tar.gz
apache-tomcat-7.0.61.tar.gz  include       libiconv  redis_bloom    share                          zookeeper
bin                          jdk1.8.0_281  man       redisbloom.so  src
[root@iZ2ze5v2vdwv6veyksylhxZ local]# cd zookeeper/
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper]# ls
zookeeper-3.4.6.tar.gz
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper]# 
  1. 解压Zookeeper,并创建data目录,将conf下的zoo_sample.cfg文件改名为zoo.cfg
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper]# tar -zxvf zookeeper-3.4.6.tar.gz 
  1. 建立/user/local/zookeeper/zookeeper-cluster,将解压后的Zookeeper复制到以下三个目录
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper]# ls
zookeeper-3.4.6  zookeeper-3.4.6.tar.gz
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper]# cd zookeeper-3.4.6
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper-3.4.6]# ls
bin          conf        docs             lib          README_packaging.txt  src                      zookeeper-3.4.6.jar.md5
build.xml    contrib     ivysettings.xml  LICENSE.txt  README.txt            zookeeper-3.4.6.jar      zookeeper-3.4.6.jar.sha1
CHANGES.txt  dist-maven  ivy.xml          NOTICE.txt   recipes               zookeeper-3.4.6.jar.asc
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper-3.4.6]# cd conf/
[root@iZ2ze5v2vdwv6veyksylhxZ conf]# ls
configuration.xsl  log4j.properties  zoo_sample.cfg
#重命名
[root@iZ2ze5v2vdwv6veyksylhxZ conf]# mv zoo_sample.cfg zoo.cfg
[root@iZ2ze5v2vdwv6veyksylhxZ conf]# ls
configuration.xsl  log4j.properties  zoo.cfg
[root@iZ2ze5v2vdwv6veyksylhxZ conf]# 

在 usr/local/zookeeper目录下,新建集群文件夹,集群目录里又新建3个zookeeper文件夹

[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper]# ls
zookeeper-3.4.6  zookeeper-3.4.6.tar.gz
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper]# mkdir zookeeper_cluster
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper]# ls
zookeeper-3.4.6  zookeeper-3.4.6.tar.gz  zookeeper_cluster
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper]# cd zookeeper_cluster/
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_cluster]# ls
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_cluster]# mkdir zookeeper_1
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_cluster]# mkdir zookeeper_2
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_cluster]# mkdir zookeeper_3
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_cluster]# ls
zookeeper_1  zookeeper_2  zookeeper_3
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_cluster]# 

将解压后的zookeeper复制到zookeeper_cluster下的这3个新建的文件夹中

# /usr/local/zookeeper
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper]# ls
zookeeper-3.4.6  zookeeper-3.4.6.tar.gz  zookeeper_cluster
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper]# cd zookeeper_cluster/
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_cluster]# cp -rf ../zookeeper-3.4.6 zookeeper_1
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_cluster]# cp -rf ../zookeeper-3.4.6 zookeeper_2
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_cluster]# cp -rf ../zookeeper-3.4.6 zookeeper_3
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_cluster]# 
  1. 配置每一个 Zookeeper 的 dataDir(zoo.cfg) clientPort 分别为 2181 2182 2183

修改/usr/local/zookeeper/zookeeper-cluster/zookeeper-1/conf/zoo.cfg

# 端口默认是2181
clientPort=2181
#在zookeeper_1下新建data目录
dataDir=/usr/local/zookeeper/zookeeper_cluster/zookeeper_1/data

​ 修改/usr/local/zookeeper/zookeeper-cluster/zookeeper-2/conf/zoo.cfg

clientPort=2182
dataDir=/usr/local/zookeeper/zookeeper_cluster/zookeeper_2/data

​ 修改/usr/local/zookeeper/zookeeper-cluster/zookeeper-3/conf/zoo.cfg

clientPort=2183
dataDir=/usr/local/zookeeper/zookeeper_cluster/zookeeper_3/data

修改 zoo.cfg文件中端口号

[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_cluster]# ls
zookeeper_1  zookeeper_2  zookeeper_3
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_cluster]# cd zookeeper_1
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_1]# ls
zookeeper-3.4.6
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_1]# cd zookeeper-3.4.6/
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper-3.4.6]# ls
bin          conf        docs             lib          README_packaging.txt  src                      zookeeper-3.4.6.jar.md5
build.xml    contrib     ivysettings.xml  LICENSE.txt  README.txt            zookeeper-3.4.6.jar      zookeeper-3.4.6.jar.sha1
CHANGES.txt  dist-maven  ivy.xml          NOTICE.txt   recipes               zookeeper-3.4.6.jar.asc
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper-3.4.6]# cd conf/
[root@iZ2ze5v2vdwv6veyksylhxZ conf]# ls
configuration.xsl  log4j.properties  zoo.cfg
[root@iZ2ze5v2vdwv6veyksylhxZ conf]# vim zoo.cfg
#在zoo.cfg中修改端口和dataDir

在zookeeper_1下新增data目录

[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper]# ls
zookeeper-3.4.6  zookeeper-3.4.6.tar.gz  zookeeper_cluster
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper]# cd zookeeper_cluster/
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_cluster]# ls
zookeeper_1  zookeeper_2  zookeeper_3
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_cluster]# cd zookeeper_1
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_1]# mkdir data
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_1]# ls
data  zookeeper-3.4.6
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_1]# cd data/
[root@iZ2ze5v2vdwv6veyksylhxZ data]# pwd
/usr/local/zookeeper/zookeeper_cluster/zookeeper_1/data
[root@iZ2ze5v2vdwv6veyksylhxZ data]# 

在zookeeper_2下新增data目录,且配置zoo.cfg中端口和dataDir

[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_cluster]# ls
zookeeper_1  zookeeper_2  zookeeper_3
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_cluster]# cd zookeeper_2
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_2]# ls
zookeeper-3.4.6
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_2]# mkdir data
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_2]# ls
data  zookeeper-3.4.6
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_2]# cd data/
[root@iZ2ze5v2vdwv6veyksylhxZ data]# ls
[root@iZ2ze5v2vdwv6veyksylhxZ data]# pwd
/usr/local/zookeeper/zookeeper_cluster/zookeeper_2/data
[root@iZ2ze5v2vdwv6veyksylhxZ data]# cd ..
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_2]# ls
data  zookeeper-3.4.6
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_2]# cd zookeeper-3.4.6/
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper-3.4.6]# ls
bin          conf        docs             lib          README_packaging.txt  src                      zookeeper-3.4.6.jar.md5
build.xml    contrib     ivysettings.xml  LICENSE.txt  README.txt            zookeeper-3.4.6.jar      zookeeper-3.4.6.jar.sha1
CHANGES.txt  dist-maven  ivy.xml          NOTICE.txt   recipes               zookeeper-3.4.6.jar.asc
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper-3.4.6]# cd conf/
[root@iZ2ze5v2vdwv6veyksylhxZ conf]# ls
configuration.xsl  log4j.properties  zoo.cfg
[root@iZ2ze5v2vdwv6veyksylhxZ conf]# vim zoo.cfg 
[root@iZ2ze5v2vdwv6veyksylhxZ conf]# 
2)配置集群
  1. 在每个 zookeeper 的 data 目录下创建一个 myid 文件,内容分别是 1、2、3 。这个文件就是记录每个服务器的 ID

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

集群服务器 IP 列表如下

#真实集群中添加ip即可
server.1=0.0.0.0:2881:3881
server.2=0.0.0.0:2882:3882
server.3=0.0.0.0:2883:3883

解释:server.服务器 ID=服务器 IP 地址:服务器之间通信端口:服务器之间投票选举端口

具体操作步骤1:

[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_cluster]# ls
zookeeper_1  zookeeper_2  zookeeper_3
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_cluster]# touch zookeeper_1/data/myid
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_cluster]# touch zookeeper_2/data/myid
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_cluster]# touch zookeeper_3/data/myid
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_cluster]# 

分别将myid设置为1、2、3

[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_cluster]# vim zookeeper_1/data/myid 
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_cluster]# vim zookeeper_2/data/myid 
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_cluster]# vim zookeeper_3/data/myid 
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_cluster]# 

查看是否设置成功

[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_cluster]# cat zookeeper_1/data/myid 
1
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_cluster]# cat zookeeper_2/data/myid 
2
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_cluster]# cat zookeeper_3/data/myid 
3
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_cluster]# 

具体操作步骤2:

[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_cluster]# vim zookeeper_1/zookeeper-3.4.6/conf/zoo.cfg 
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_cluster]# vim zookeeper_2/zookeeper-3.4.6/conf/zoo.cfg 
[root@iZ2ze5v2vdwv6veyksylhxZ zookeeper_cluster]# vim zookeeper_3/zookeeper-3.4.6/conf/zoo.cfg

在每一个 zoo.cfg 里都分别在末尾添加如下配置

#配置zookeeper集群
server.1=0.0.0.0:2881:3881
server.2=0.0.0.0:2882:3882
server.3=0.0.0.0:2883:3883
3)启动集群

启动集群就是分别启动每个实例

#启动zookeeper_1
[root@iZ2ze5v2vdwv6veyksylhxZ bin]# ./zkServer.sh start
JMX enabled by default
Using config: /usr/local/zookeeper/zookeeper_cluster/zookeeper_1/zookeeper-3.4.6/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
#查看zookeeper状态
[root@iZ2ze5v2vdwv6veyksylhxZ bin]# ./zkServer.sh status
JMX enabled by default
Using config: /usr/local/zookeeper/zookeeper_cluster/zookeeper_1/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower
[root@iZ2ze5v2vdwv6veyksylhxZ bin]# 

查看主从节点,切记把3台zookeeper都启动,不然主机没启动,如果查看从机的状态会报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值