zookeeper 搭建

作者在 2022-08-14 18:22:04 发布以下内容

1、 下载zookeeper

1.1   下载地址 Apache Downloads

1.1.1         解压 tar -zxvf apache-zookeeper-3.8.0-bin.tar.gz

2、 创建用于存放数据的文件夹data和传输数据的日志文件

2.1

mkdir data1 # data1全路径:/home/server/zookeeper/data1

mkdir data2

mkdir datalog1 #datalog1全路径 /home/server/zookeeper/datalog1

mkdir datalog2

2.2 修改conf中的配置文件

mv zoo_sample.cfg zoo1.cfg

cp zoo1.cfg zoo2cfg

2.3 vim zoo1.cfg

修改zoo1.cfg 中的dataDir=/home/server/zookeeper/data1

#session的会话时间单位毫秒ms

tickTime=2000

#服务器启动以后,masterslave通讯时间

initLimit=10

#masterslave之间的心跳检测时间,检测slave是否存活

syncLimit=5

dataLogDir=/home/server/zookeeper/datalog1

clientPort=2181#默认2181,可以修改为其他端口

#192.168.0.103可以在不同的服务器上ip2888是数据同步和消息传递端口,3888是选举端口

server.1=192.168.0.103:2888:3888

2.4 vim zoo2.cfg

修改zoo1cfg 中的dataDir=/home/server/zookeeper/data2

#session的会话时间单位毫秒ms

tickTime=2000

#服务器启动以后,masterslave通讯时间

initLimit=10

#masterslave之间的心跳检测时间,检测slave是否存活

syncLimit=5

dataLogDir=/home/server/zookeeper/datalog2

clientPort=2182默认2182,可以修改为其他端口

#192.168.0.103可以在不同的服务器上ip2888是数据同步和消息传递端口,3888是选举端口

server.1=192.168.0.103:2888:3888

3、 启动 cd bin

3.1 ./zkServer.sh start ../conf/zoo1.cfg

3.2 ./zkServer.sh start ../conf/zoo2.cfg

4、停止服务

       ./zkServer.sh stop

5、 log中的启动日志

5.1

java.io.IOException: Len error. A message from /10.128.151.5:36498 with advertised length of 16777216 is either a malformed

原因分析

客户端发送的包太大,超过jute.maxbuffer的设置,默认大小为1048575

解决方法

修改jute.maxbuffer的配置,设置成50M

bin/zkServer.sh

JVMFLAGS="$JVMFLAGS -Djute.maxbuffer=50000000"

       5.2

启动报错ZooKeeper JMX enabled by default

在每个存放数据的文件夹data中必须有一个myid文件 文件内容是一个唯一的数字,每个myid文件中的数字不重复

没有myid文件必须创建一个

vim myid

       5.3 org.apache.zookeeper.server.NIOServerCnxn.readLength

       Unable to read additional data from server sessionid 0x0, likely server has closed socket

       出现这个的原因可能是conf/zoo.cnf配置文件中当只有一台zookeeper时,server.num=ip:port1:port2只需要配置一个,当有多个时,zookeeper的选举机制会导致会报错,使zookeeper无法启动(参考: (7条消息) Unable to read additional data from server sessionid 0x0, likely server has closed socket, closing s_CoderMurphy的博客-CSDN博客)

      

6、 实际操作

6.1 登录zookeeper 客户端

6.1.1 可以服务器直接运行zkCli.sh 进入当前服务器中搭建的zookeeper

6.1.2 或是zkCli.sh -server 192.168.192.128:2181 进入远程客户端

6.1.3 退出

6.1.3.1 可以直接ctrl+c

       6.1.3.2 输入quit,按回车

6.2 创建并获取文字

6.3 修改

set /first “I am 1”

6.4

服务器搭建 | 阅读 810 次
文章评论,共0条
游客请输入验证码