集群通常配置在多台服务器上,伪集群是指将集群配置到一台服务器上。现在很多分布式应用都采用集群配置,但是在测试环节,由于资源的局限性、以及测试的方便,常常将集群配置到一台服务器上,即使用伪集群来达到集群效果。
在真实的集群环境中,可以参照伪集群的配置方式,实现真实的集群配置。
本文可以参照Zookeeper安装 - blue星空 - 博客园 (cnblogs.com)加强理解。
下面主要讲解Zookeeper伪集群的配置,该伪集群包含:一个leader、两个follow,一个observer。
-
下载zookeeper安装包
链接 :https://pan.baidu.com/s/1ftS8orpWhXTqNeSu920O9w 提取码:Winn
- 解压zookeeper安装包
tar -zxvf zookeeper-3.4.5.tar.gz -C apps/
- 创建zkdata目录以及子目录zk1、zk2、zk3、zk4:用于配置dataDir
##切换到安装目录下 cd /root/apps/packages/zookeeper-3.4.5 mkdir zkdata mkdir zkdata/zk1 mkdir zkdata/zk2 mkdir zkdata/zk3 mkdir zkdata/zk4
- 创建并存储myid
echo 1 > zkdata/zk1/myid echo 2 > zkdata/zk2/myid echo 3 > zkdata/zk3/myid echo 4 > zkdata/zk4/myid
- 创建配置文件
cd conf
cp zoo_sample.cfg zoo1.cfg
cp zoo_sample.cfg zoo2.cfg
cp zoo_sample.cfg zoo3.cfg
cp zoo_sample.cfg zoo4.cfg
- 修改配置文件
##修改数据目录 sed -i 's#/tmp/zookeeper#/root/apps/packages/zookeeper-3.4.5/zkdata/zk1#g' zoo1.cfg sed -i 's#/tmp/zookeeper#/root/apps/packages/zookeeper-3.4.5/zkdata/zk2#g' zoo2.cfg sed -i 's#/tmp/zookeeper#/root/apps/packages/zookeeper-3.4.5/zkdata/zk3#g' zoo3.cfg sed -i 's#/tmp/zookeeper#/root/apps/packages/zookeeper-3.4.5/zkdata/zk4#g' zoo4.cfg ##修改端口号 sed -i "s#2181#2182#g" zoo2.cfg sed -i "s#2181#2183#g" zoo3.cfg sed -i "s#2181#2184#g" zoo4.cfg ##配置集群信息 echo "server.1=172.23.34.13:2001:3001 server.2=172.23.34.13:2002:3002 server.3=172.23.34.13:2003:3002 server.4=172.23.34.13:2004:3003:observer" >> zoo1.cfg echo "server.1=172.23.34.13:2001:3001 server.2=172.23.34.13:2002:3002 server.3=172.23.34.13:2003:3002 server.4=172.23.34.13:2004:3003:observer" >> zoo2.cfg echo "server.1=172.23.34.13:2001:3001 server.2=172.23.34.13:2002:3002 server.3=172.23.34.13:2003:3002 server.4=172.23.34.13:2004:3003:observer" >> zoo3.cfg echo "server.1=172.23.34.13:2001:3001 server.2=172.23.34.13:2002:3002 server.3=172.23.34.13:2003:3002 server.4=172.23.34.13:2004:3003:observer" >> zoo4.cfg
- 配置环境变量
#修改/etc/profile export ZOOKEEPER_HOME=/root/apps/packages/zookeeper-3.4.5 export PATH=$PATH:$ZOOKEEPER_HOME/bin ##刷新配置文件,使配置生效 source /etc/profile
- 启动服务器
zkServer.sh start /root/apps/packages/zookeeper-3.4.5/conf/zoo1.cfg zkServer.sh start /root/apps/packages/zookeeper-3.4.5/conf/zoo2.cfg zkServer.sh start /root/apps/packages/zookeeper-3.4.5/conf/zoo3.cfg zkServer.sh start /root/apps/packages/zookeeper-3.4.5/conf/zoo4.cfg
- 查看状态
zkServer.sh status /root/apps/packages/zookeeper-3.4.5/conf/zoo1.cfg zkServer.sh status /root/apps/packages/zookeeper-3.4.5/conf/zoo2.cfg zkServer.sh status /root/apps/packages/zookeeper-3.4.5/conf/zoo3.cfg zkServer.sh status /root/apps/packages/zookeeper-3.4.5/conf/zoo4.cfg
- 启动客户端
zkCli.sh -server 172.23.34.13:2181,172.23.34.13:2182,172.23.34.13:2183,172.23.34.13:2184