阿里云centos7 zookeeper3.4.14集群

1.解压安装zookeeper
下载地址:
http://mirror.bit.edu.cn/apache/zookeeper/
1)本人下载zookeeper-3.4.14.tar.gz
2)解压

 tar -zxvf zookeeper-3.4.12.tar.gz

3)把zookeeper复制一份

mkdir /usr/local/solrCloud
cp -r zookeeper-3.4.14 /usr/local/solrCloud/zookeeper01

4)在zookeeper目录下创建一个data目录

mkdir /usr/local/solrCloud/zookeeper01/data

5)在data目录下创建一个myid文件,文件名就叫做“myid”。内容就是每个实例的id,该数值可以任意。(该id为server.x中对应的数值)

#位置:/usr/local/solrCloud/zookeeper01/data
#该数值对应server.11=私网IP:2981:3981
echo 11 >> myid 

6)修改配置文件。把conf目录下的zoo_sample.cfg文件改名为zoo.cfg(位置:/usr/local/solrCloud/zookeeper01/conf)

7)编辑zoo.cfg文件
如果是虚拟机:就是下图,IP就是虚拟机的IP
在这里插入图片描述


原先我阿里云的/etc/hosts内的数据如下:

::1     localhost       localhost.localdomain   localhost6      localhost6.localdomain6
127.0.0.1       localhost       localhost.localdomain   localhost4      localhost4.localdomain4
私网IP  iasdtewz8mZ iasdtewz8mZ 
server.11=私网IP:2981:3981
server.12=私网IP:2982:3982
server.13=私网IP:2983:3983

修改:
私网IP->0.0.0.0(最后测试结果:成功)
私网IP->公网IP(最后测试结果:失败)


修改后阿里云为如下(原因:发布dubbo到zookeeper( Mode: standalone)需要修改该IP为公网)

::1     localhost       localhost.localdomain   localhost6      localhost6.localdomain6
127.0.0.1       localhost       localhost.localdomain   localhost4      localhost4.localdomain4
` 公网IP  iasdtewz8mZ iasdtewz8mZ `
server.11=127.0.0.1:2981:3981
server.12=127.0.0.1:2982:3982
server.13=127.0.0.1:2983:3983

修改:
127.0.0.1->0.0.0.0(最后测试结果:失败)
127.0.0.1->公网IP(最后测试结果:失败)


修改dataDir:为以下内容
在这里插入图片描述
8)复制相同的两份(位置:/usr/local/solrCloud/)

cp zookeeper01 zookeeper02
cp zookeeper01 zookeeper03

9)修改data文件夹下的myid和zoo.cfg
分类为zookeeper02 :

  • myid :12
  • clientPort:2182
  • dataDir=/usr/local/solrCloud/zookeeper02/data/

分类为zookeeper03 :

  • myid :13
  • clientPort:2183
  • -dataDir=/usr/local/solrCloud/zookeeper03/data/

2.防火墙
1)添加端口:
firewall-cmd --zone=public --add-port=2181/tcp --permanent(2181、2182、2183开启三个,对应zoo.cfg中的clientPort)
2)重启防火墙
systemctl reload firewalld.service
3)查看防火墙
firewall-cmd --zone=public --list-ports
出现:2181/tcp 2182/tcp 2183/tcp

3.编辑脚本
1)启动脚本
vim start-all.sh

cd zookeeper01/bin
./zkServer.sh start
cd ../..
cd zookeeper02/bin
./zkServer.sh start
cd ../..
cd zookeeper03/bin
./zkServer.sh start
cd ../..

2)停止脚本
vim stop-all.sh

./zookeeper01/bin/zkServer.sh stop
./zookeeper02/bin/zkServer.sh stop
./zookeeper03/bin/zkServer.sh stop

赋予用户执行权限
chmod u+x start-all.sh
chmod u+x stop-all.sh

执行脚本:start-all.sh

3)查看启动状态
分别使用:
bin/zkServer.sh status
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
成功

4.测试
语句:

#位置:/usr/local/solrCloud
./zookeeper01/bin/zkCli.sh(本人虚拟机上使用这个) 
#或者
./zookeeper01/bin/zkCli.sh -server 私网IP:zookeeper端口号(服务器上使用这个)

在这里插入图片描述
成功

出错小知识

1.zookeeper集群启动报错[main-SendThread(localhost:2181):ClientCnxn$SendThread@1162] - Socket error occurred: localhost/127.0.0.1:2181: Connection refused

起因:
本人服务器中含有一个zookeeper,我配置了server1=公网IP:2888:3888,启动方式为Mode: standalone,但是我没有启动.

过程
本人去除了以上的zookeeper中zoo.cfg的server1=公网IP:2888:3888和data文件夹下的myid,启动zookeeper集群中的zkCli.sh还是报以上的错误,所以根据自身需求,可以选择以下之一的方案。

解决:
方案一:启动该zookeeper(本人使用)

方案二:彻底删除该zookeeper

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值