Zookeeper搭建

xiaoxiao2021-02-28  49

1.下载

进入要下载的版本的目录,选择.tar.gz文件下载

下载链接:http://archive.apache.org/dist/zookeeper/

 

2.安装

使用tar解压要安装的目录即可,以3.4.5版本为例

tar -zxf zookeeper-3.4.5.tar.gz -C /usr/myapp

 

3.配置

在主目录下创建data和logs两个目录用于存储数据和日志:

mkdir data mkdir logs

 

在conf目录下新建zoo.cfg文件,写入以下内容保存:

tickTime=2000 dataDir=/usr/myapp/zookeeper-3.4.5/data dataLogDir=/usr/myapp/zookeeper-3.4.5/logs clientPort=2181

 

4.启动和停止

进入bin目录,启动、停止、重启分和查看当前节点状态(包括集群中是何角色)别执行:

./zkServer.sh start ./zkServer.sh stop ./zkServer.sh restart ./zkServer.sh status

 

5.伪集群模式

伪集群模式就是在同一主机启动多个zookeeper并组成集群,下边以在192.168.220.128主机上创3个zookeeper组集群为例

将前边的zookeeper复制成zookeeper1/zookeeper2/zookeeper3三份,然后修改conf/zoo.cfg文件,以zookeeper1为例如下:

tickTime=2000 dataDir=/usr/myapp/zookeeper1/data dataLogDir=/usr/myapp/zookeeper1/logs clientPort=2181 initLimit=5 syncLimit=2 server.1=192.168.220.128:2888:3888 server.2=192.168.220.128:4888:5888 server.3=192.168.220.128:6888:7888

对于zookeeper2和zookeeper3要相应修改dataDir和dataLogDir,然后clientPort也需要修改成其他不一样的端口,如3181和4181

 

然后需要在data目录下创建myid文件,写入自己是几号server,以zookeeper1(server.1)为例:

echo '1' > data/myid

对于zookeeper2和zookeeper3把1分别改成2和3即可。

 

最后和第4步一样分别将各zookeeper启动即可。

 

6.集群模式

集群模式就是在不同主机上安装zookeeper然后组成集群的模式;下边以在192.168.220.128/129/130三台主机为例。

将第1到4步中安装好的zookeeper打包复制到129和130上,然后修改conf/zoo.cfg文件,以128为例修改如下:

tickTime=2000 dataDir=/usr/myapp/zookeeper-3.4.5/data dataLogDir=/usr/myapp/zookeeper-3.4.5/logs clientPort=2181 initLimit=5 syncLimit=2 server.1=192.168.220.128:2888:3888 server.2=192.168.220.129:2888:3888 server.3=192.168.220.130:2888:3888

对于129和130,由于安装目录都是zookeeper-3.4.5所以dataDir和dataLogDir不需要改变,又由于在不同机器上所以clientPort也不需要改变。

应用报错:Session 0x0 for server 192.168.220.128/192.168.220.128:2181,unexpected error,closing socket connection and attempting reconnect;

                 先看端口能否telnet通,如果通则使用./zkServer.sh status查看zk是否确实已启动,没启查看bin/zookeeper.out中的报错。

bin/zookeeper.out中报错:“zookeeper address already in use”;显然端口被占用,要么是其他进程占用了配置的端口,要么是上边配置的clientPort和server中的端口有重复。

bin/zookeeper.out中报错:Cannot open channel to 2 at election address /192.168.220.130:3888;这应该只是组成集群的130节点未启动,到130启动起来zk即会正常。

 

下来一样要在data目录下创建myid文件写入自己的id,以128为例:

echo '1' > data/myid

129和130分别把1改成2和3即可。

最后和第4步一样将各zookeeper启动即可。

转载自:    https://www.cnblogs.com/lsdb/p/7297731.html

转载请注明原文地址: https://www.6miu.com/read-2619186.html

最新回复(0)