linux中安装zookeeper集群(伪集群)

说明:   

  1)zookeeper集群最少需要三个节点,因为zookeeper可用条件就是最少一半以上的节点可用就表示集群可用,

    如果是2个节点,那么挂掉一个,剩下一个也就是一半节点可用,就没有超过半数,集群就不可以用了,

    如果是3个节点,就算挂掉一个还剩两个,超过半数可用,满足要求。

  2)节点数量最好奇数,因为 4个也只能挂掉一个,三个也只能挂掉一个,

    同理5个节点6个节点也最多只能挂掉2个,所以偶数没有太大必要。

    zookeeper的集群著有一个leder,其他都是slave或者ovser,

    但是每一个都有独立的保存完整数据,不像redis每个主节点各保存一部分。

安装前提: 

  1,已经安装了zookeer单机

  2,已安装了jdk和jdk环境变量(因为zookeeper是一个java编写的项目)

安装大概步骤:

  1)创建3个节点目录

  2)修改配置文件

  3)启动集群

 

正文:

第一步:创建节点目录

#进入到安装目录
cd /home/comuser/soft/

  #创建集群目录
  mkdir /home/comuser/soft/zkcluster

  #创建三个节点目录
  mkdir /home/comuser/soft/zkcluster/z1
  mkdir /home/comuser/soft/zkcluster/z2
  mkdir /home/comuser/soft/zkcluster/z3

  #创建三个节点的data目录
  mkdir /home/comuser/soft/zkcluster/z1/data
  mkdir /home/comuser/soft/zkcluster/z2/data
  mkdir /home/comuser/soft/zkcluster/z3/data

  #创建三个节点的log目录
  mkdir /home/comuser/soft/zkcluster/z1/log
  mkdir /home/comuser/soft/zkcluster/z2/log
  mkdir /home/comuser/soft/zkcluster/z3/log

 

第二步:修改配置文件

  1)分别z1,z2,z3创建zoo.cfg文件
#在z1创建zoo.cfg文件
vi
zoo.cfg
####在#zoo.cfg添加以下内容:

#心跳时间,心跳间隔2000ms tickTime
=2000 #初始化客户端连接次数,不能超过10*2000ms,超过时间客户端请求失败 initLimit=10 #集群中flower服务器(F)跟leader(L)服务器之间的请求和答应最多能容忍的心跳数。 syncLimit=5 #数据和快照位置保存位置 dataDir=/home/comuser/soft/zkcluster/z1/data #日志保存位置 dataLogDir=/home/comuser/soft/zkcluster/z1/log #一个ip所对应的客户机和zk服务器维持连接个数最大值。 maxClientCnxns=5000 #客户端连接端口 clientPort=3181 #集群配置 server.1=192.168.100.10:20881:30881 server.2=192.168.100.10:20882:30882 server.3=192.168.100.10:20883:30883

  同样在z2,z3创建zoo.cfg文件,内容同上,修改dataDir,dataLogDir的值,端口分别为3182,3183即可.

 

  2)创建节点编号,执行一下命令即可

  echo 1>/home/comuser/soft/zkcluster/z1/data/myid
  echo 2>/home/comuser/soft/zkcluster/z2/data/myid
  echo 3>/home/comuser/soft/zkcluster/z3/data/myid

 第三步:启动集群

  因为集群的3个实例挨个启动,所以编写一个脚本,同意启动,关闭,连接等。

  1)在zkcluster目录创建启动脚本zkStart.sh

#创建文件
vi zkStart.sh

#文件内容如下:
zkServer.sh start ./z1/zoo.cfg
zkServer.sh start ./z2/zoo.cfg
zkServer.sh start ./z3/zoo.cfg

  2)在zkcluster目录创建关闭脚本zkStop.sh

#创建文件
vi zkStop.sh

#文件内容如下:
zkServer.sh stop ./z1/zoo.cfg
zkServer.sh stop ./z2/zoo.cfg
zkServer.sh stop ./z3/zoo.cfg

  3)在zkcluster目录创建连接客户端脚本zkClis.sh

#创建连接集群客户端脚本
vi zkClis.sh
#文件内容如下
zkCli.sh -server 192.168.100.10:3181,192.168.100.10:3182,192.168.100.10:3183

  4)然后对上面三个文件进行赋权,变成可执行文件

chmod 777 zkStart.sh
chmod 777 zkStop.sh
chmod 777 zkClis.sh

  5)启动集群

./zkStart.sh

  6)登录集群

#登录集群
./zkClis.sh
#退出集群
quit

  7)验证是否正常

#登录节点1,
zkCli.sh -server localhost:3181
#存入数据
create /zk123 123
#退出登录
quit
#登录3节点
zkCli.sh -server localhost:3183
#获取测试数据
ls /zk123

#能回显123表示集群搭建成功

 

posted @ 2021-08-04 11:14  蜗牛开奔驰  阅读(399)  评论(0编辑  收藏  举报