centos7搭建zookeeper单机版,集群版

zk不懂的可以看博主理论学习:https://blog.csdn.net/qq_39276448/article/details/86029235

以下过程已经试过好多遍,没问题的

单机版

下载zookeeper的安装包

http://apache.fayea.com/zookeeper/stable/zookeeper-3.4.12.tar.gz

可能已过时,自行下载http://apache.fayea.com/zookeeper/可用版本

解压zookeeper

tar -zxvf zookeeper-3.4.12.tar.gz

解压后,放在你想放的地方,以下是目录结构


cd 到 conf  , copy一份zoo.cfg(复制一份,已配置文件形式启动,也避免误操作删除了原来的配置文件)

cp  zoo_sample.cfg zoo.cfg

cd bin/

sh zkServer.sh start ../conf/zoo.cfg 以自己的配置文件启动,不写则以默认配置文件启动(在bin目录下查看该脚本指令,加start即为开启服务)

{start|start-foreground|stop|restart|status|upgrade|print-cmd}

sh zkCli.sh -server  127.0.0.1:2181(客户端连接测试)

 

集群版(单机模拟三台)博主穷!一样的,下面会阐述

忽略上面操作

下载解压不说了。

复制三份启动配置文件(集群利于选举,且最低台数)

伪集群版

cp  zoo_sample.cfg zoo1.cfg

cp  zoo_sample.cfg zoo2.cfg

cp  zoo_sample.cfg zoo3.cfg

非伪集群版:

cp  zoo_sample.cfg zoo.cfg

zoo.cfg 设置:

看单机版目录:

查看配置文件 

伪集群版:

vim /conf/zoo1.cfg

找到

dataDir=/tmp/zookeeper/   就是这个目录,版本不同可能不同/tmp/zookeeper/

cd /tmp/zookeeper/切换到目录下创建 配置3个服务器的数据,日志文件,并在data下创建myid文件且插入对应id

mkdir data-1 

cd  data-1

touch myid

vim myid

插入 1

:wq!保存退出

mkdir data-2

cd  data-2

touch myid

插入 2

:wq!保存退出

mkdir data-3

cd  data-3

touch myid

插入 3

:wq!保存退出

mkdir logs-1

mkdir logs-2

mkdir logs-3

集群版:

不用管!

修改添加配置文件 

伪集群版:

zoo1.cfg 设置:
# 数据文件夹
dataDir=/tmp/zookeeper/data-1
# 日志文件夹
dataLogDir=/tmp/zookeeper/logs-1

#客户端端口

clientPort=2181

#(节点的id:x,集群版配置对应每台机器的:ip,port1:端口随意最好一样,port2:以及选举端口)

server.x=外网ip:port1:port2

server.1=本地外网ip:2887:3887
server.2=本地外网ip:2888:3888
server.3=本地外网ip:2889:3889

zoo2.cfg 设置:

dataDir=/tmp/zookeeper/data-2
dataLogDir=/tmp/zookeeper/logs-2

clientPort=2182

server.1=本地外网ip:2887:3887
server.2=本地外网ip:2888:3888
server.3=本地外网ip:2889:3889

zoo3.cfg 设置:

dataDir=/tmp/zookeeper/data-3
dataLogDir=/tmp/zookeeper/logs-3

clientPort=2183

server.1=本地外网ip:2887:3887
server.2=本地外网ip:2888:3888
server.3=本地外网ip:2889:3889

切换到zk bin目录下

运行第一个伪zk节点:sh zkServer.sh start ../conf/zoo1.cfg

运行第二个伪zk节点:bin/zkServer.sh start ../conf/zoo2.cfg

运行第三个伪zk节点:bin/zkServer.sh start ../conf/zoo3.cfg

启动后测试节点状态:

sh zkServer.sh status ../conf/zoo1.cfg

ZooKeeper JMX enabled by default

Using config: conf/zoo.cfg

Mode: follower

sh zkServer.sh status ../conf/zoo2.cfg

ZooKeeper JMX enabled by default

Using config: conf/zoo2.cfg

Mode: leader

sh zkServer.sh status ../conf/zoo3.cfg

ZooKeeper JMX enabled by default

Using config: conf/zoo.cfg

Mode: follower

看到以上黄色内容则表示成功!

非伪集群版:

第一台:

#客户端端口

clientPort=2181

#集群地址(每台机器的地址以及port)

#(节点的id:x,集群版配置对应每台机器的:ip,port1:端口随意最好一样,port2:以及选举端口)

#一定要一一对应上,别乱写。

server.x=外网ip:port1:port2

server.1=外网ip:2888:3888

server.2=外网ip:2888:3888

server.3=外网ip:2888:3888

第二台:(同上)

clientPort=2181

server.1=外网ip:2888:3888

server.2=外网ip:2888:3888

server.3=外网ip:2888:3888

第三台:(同上)

clientPort=2181

server.1=外网ip:2888:3888

server.2=外网ip:2888:3888

server.3=外网ip:2888:3888

分别在3台zk节点/tmp/zookeeper/下创建myid文件

cd /tmp/zookeeper/

第一台:

touch myid

vim myid

插入1

:wq!保存

第二台:

touch myid

vim myid

插入2

:wq!保存

第三台:

touch myid

vim myid

插入3

:wq!保存

切换到zk bin目录下

到第一台启动:sh zkServer.sh start  ../conf/zoo.cfg

到第二台启动:sh zkServer.sh start  ../conf/zoo.cfg

到第三台启动:sh zkServer.sh start  ../conf/zoo.cfg

测试:

查看第一台状态 sh zkServer.sh status ../conf/zoo.cfg

ZooKeeper JMX enabled by default

Using config: conf/zoo.cfg

Mode: follower

查看第二台状态 sh zkServer.sh status ../conf/zoo.cfg

ZooKeeper JMX enabled by default

Using config: conf/zoo2.cfg

Mode: leader

查看第三台状态 sh zkServer.sh status ../conf/zoo.cfg

ZooKeeper JMX enabled by default

Using config: conf/zoo.cfg

Mode: follower

看到这些则表示成功!

看到以上黄色内容则表示成功!

猜你喜欢

转载自blog.csdn.net/qq_39276448/article/details/86025192