伪分布安装zookeeper

伪分布式安装zookeeper

在同一台服务器上启动多个zk服务。

上传安装包

使用XFTP或者使用scp将安装包apache-zookeeper-3.6.3-bin.tar.gz上传到/root/softwares下

解压安装

cd softwares/
tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz -C /usr/local

更名

mv apache-zookeeper-3.6.3-bin zookeeper-3.6.3

复制三份

cp -r zookeeper-3.6.3 /usr/local/zookeeper01
cp -r zookeeper-3.6.3 /usr/local/zookeeper02
cp -r zookeeper-3.6.3 /usr/local/zookeeper03

新建myid文件

mkdir {dataDir,dataLogDir}  #zookeeper01,zookeeper02,zookeeper03都要创建
cd dataDir/
vim myid  
echo "1" > /usr/local/zookeeper01/dataDir/myid
echo "2" > /usr/local/zookeeper02/dataDir/myid
echo "3" >  /usr/local/zookeeper03/dataDir/myid

配置zoo.cfg文件

配置zookeeper01的zoo.cfg

cd /usr/local/zookeeper01/conf
cp  /usr/local/zookeeper01/conf/zoo_sample.cfg zoo.cfg
vim  /usr/local/zookeeper01/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper01/dataDir
dataLogDir=/usr/local/zookeeper01/dataLogDir

clientPort=2181
server.1=192.168.239.239:2888:3888
server.2=192.168.239.239:2889:3889
server.3=192.168.239.239:2890:3890

配置zookeeper02的zoo.cfg文件

cd /usr/local/zookeeper02/conf
cp  /usr/local/zookeeper02/conf/zoo_sample.cfg zoo.cfg
vim  /usr/local/zookeeper02/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper02/dataDir
dataLogDir=/usr/local/zookeeper02/dataLogDir
clientPort=2182
server.1=192.168.239.239:2888:3888
server.2=192.168.239.239:2889:3889
server.3=192.168.239.239:2890:3890

配置zookeeper03的zoo.cfg文件

cd /usr/local/zookeeper03/conf
cp  /usr/local/zookeeper03/conf/zoo_sample.cfg zoo.cfg
vim  /usr/local/zookeeper03/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper03/dataDir
dataLogDir=/usr/local/zookeeper03/dataLogDir
clientPort=2183
server.1=192.168.239.239:2888:3888
server.2=192.168.239.239:2889:3889
server.3=192.168.239.239:2890:3890

启动集群

后台启动zookeeper01的zoo.cfg服务端

cd /usr/local/zookeeper01/bin/
./zkServer.sh start  # 启动第一个节点
netstat -lntp |grep java  # 查看监听的端口

后台启动zookeeper02的zoo.cfg服务端

cd /usr/local/zookeeper02/bin/
./zkServer.sh start  # 启动第二个节点
netstat -lntp |grep java  # 查看监听的端口

后台启动zookeeper03的zoo.cfg服务端

cd /usr/local/zookeeper03/bin/
./zkServer.sh start  # 启动第三个节点
netstat -lntp |grep java  # 查看监听的端口

myid文件一定要在dataDir的文件目录下,否则启动会报myid文件缺失异常!!!

查看进程

jps

[root@hadoop bin]# jps
13889 QuorumPeerMain
14002 QuorumPeerMain
14073 QuorumPeerMain
14122 Jps

启动完后依次查看集群的状态、主从信息

/usr/local/zookeeper01/bin/zkServer.sh status
/usr/local/zookeeper02/bin/zkServer.sh status
/usr/local/zookeeper03/bin/zkServer.sh status
一定要全部启动后按顺序启动集群

脚本启动

vim checked.sh # 脚本内容如下
#!/bin/bash
/usr/local/zookeeper01/bin/zkServer.sh status
/usr/local/zookeeper02/bin/zkServer.sh status
/usr/local/zookeeper03/bin/zkServer.sh status
sh ./checked.sh  # 执行脚本
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper01/bin/../conf/zoo.cfg
Mode: follower  # 从节点
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper02/bin/../conf/zoo.cfg
Mode: leader   # 主节点
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper03/bin/../conf/zoo.cfg
Mode: follower

关闭zookeeper

/usr/local/zookeeper01/bin/zkServer.sh stop
/usr/local/zookeeper02/bin/zkServer.sh stop
/usr/local/zookeeper03/bin/zkServer.sh stop
posted @ 2022-10-12 21:30  sparename  阅读(65)  评论(0)    收藏  举报