Zookeeper 安装

295 阅读1分钟

ZooKeeper地址

官网下载步骤

image.png

image.png

image.png

image.png

学习到22分钟 视频里面是3台服务器 到时候自己也搞三台 感觉有点费劲啊 😄

安装

  • 解压到 local 下面 和jdk 其他都是类似的
tar -zxvf /usr/local/soft/apache-zookeeper-3.6.0-bin.tar.gz -C /usr/local

  • 修改个名字吧 直接用工具修改就行 zookeeper

image.png

创建 zoo.cfg

到 zookeeper 的 conf 中 复制 zoo_sample.cfg 到新文件 zoo.cfg

image.png cat 查看 然后过滤一些内容

zoo.cfg 把查看内容复制到新文件里面

cat zoo_sample.cfg |grep -v "#" |grep -v "^$" > zoo.cfg

创建data 文件夹

创建一个data 在zookeeper下面创建

mkdir data

image.png

在data文件下创建 myid

image.png

echo 1 > myid
echo 2 > myid
echo 3 > myid
cat myid 查看一下

目前就用一个服务器配置三个zookeeper

修改一下名字吧

image.png

mv zookeeper zookeeper1

image.png

cp -R zookeeper1/ zookeeper2
cp -R zookeeper1/ zookeeper3

先把myid 分别改成 1 2 3

image.png

修改zoo.cfg

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper1/data
clientPort=2181
server.1=192.168.96.2:2888:38888
server.2=192.168.96.2:2887:38887
server.3=192.168.96.2:2889:38889
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper1/data
clientPort=2182
server.1=192.168.96.2:2888:38888
server.2=192.168.96.2:2887:38887
server.3=192.168.96.2:2889:38889
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper3/data
clientPort=2183
server.1=192.168.96.2:2888:38888
server.2=192.168.96.2:2887:38887
server.3=192.168.96.2:2889:38889

启动

到每一个zookeeper下面启动

zkServer.sh start # 启动命令

zkServer.sh status # 查看状态命令

zkServer.sh stop # 停止服务命令

zkServer.sh restart# 停止服务命令
到bin目录下
cd /usr/local/zookeeper/bin
./zkServer.sh start
./zkServer.sh status
./zkServer.sh stop
./zkServer.sh restart

image.png

./zkServer.sh start

jps 查看

image.png

进入客户端

image.png

./zkCli.sh

help

image.png

image.png

如果有错误到logs里面看 .out 文件

logs也可以删除哦 删除后 继续看 重试。我没遇到就说一下吧。

代码连接遇到错误

其实就是防护墙没有关闭导致的 。我去

另外 记得start zk哦

image.png

centos7.0默认不是使用iptables方式管理防火墙,而是firewalld方式,centos6.0防火墙才使用iptables管理。 我就用这个

image.png

#停止firewall防火墙
systemctl stop firewalld 
#禁止firewall开机启动
systemctl disable firewalld
#查看firewall状态
systemctl status firewalld 
# systemctl stop iptables #停止firewall防火墙
# systemctl disable iptables #禁止firewall开机启动
# systemctl status iptables #查看firewall状态

image.png

进入zk客户端 链接失败

java.net.ConnectException: Connection refused

image.png

为什么 Mode:standalone

因为我用fileZa去操作myid 和zoo.cfg

myid

image.png

中间有空格还是回撤 还是用echo 写入把

zoo.cfg

image.png

Server 大写了 应该小写 server 另外也有空格

image.png

后期我已经部署三台服务器

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/usr/local/zookeeper/data

clientPort=2181

server.1=192.168.202.3:3188:32888

server.2=192.168.202.4:3188:32888

server.3=192.168.202.5:3188:32888




tickTime=2000

initLimit=10

syncLimit=5

dataDir=/usr/local/zookeeper/data

clientPort=2181

server.1=192.168.202.3:3188:32888

server.2=192.168.202.4:3188:32888

server.3=192.168.202.5:3188:32888




tickTime=2000

initLimit=10

syncLimit=5

dataDir=/usr/local/zookeeper/data

clientPort=2181

server.1=192.168.202.3:3188:32888

server.2=192.168.202.4:3188:32888

server.3=192.168.202.5:3188:32888

拒绝连接 refued

java.net.ConnectException: 拒绝连接

at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)

at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)

at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:342)

at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1262)

\


2022-04-14 15:41:17,557 [myid:localhost:2181] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@1154] - Opening socket connection to server localhost/0:0:0:0:0:0:0:1:2181.

2022-04-14 15:41:17,557 [myid:localhost:2181] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@1156] - SASL config status: Will not attempt to authenticate using SASL (unknown error)

2022-04-14 15:41:17,558 [myid:localhost:2181] - WARN  [main-SendThread(localhost:2181):ClientCnxn$SendThread@1266] - An exception was thrown while closing send thread for session 0x0.

其实端口应该都是2181 因为部署三台 如果部署一台 复制zookeeper 可以试试端口 2181 2182 2183

image.png

本地安装

创建data目录 创建zoo.cfg 然后启动即可 似乎 myid不用也行

image.png