四、Zookeeper伪集群搭建

伪集群模式

Zookeeper不但可以在单机上运行单机模式 Zookeeper,而且可以在单机模拟集群模式 Zookeeper的运 行,也就是将不同实例运行在同一台机器,用端口进行区分,伪集群模式为我们体验 Zookeeper和做 些尝试性的实验提供了很大的便利。比如,我们在测试的时候,可以先使用少量数据在伪集群模式下进 行测试。当测试可行的时候,再将数据移植到集群模式进行真实的数据实验。这样不但保证了它的可行 性,同时大大提高了实验的效率。这种搭建方式,比较简便,成本比较低,适合测试和学习

clientPort端口: 如果在1台机器上部署多个 server,那么每台机器都要不同的 clientPort,比如 server1是2181 server2 是2182, server3是2183 data Dir和 dataLogDir: dataDir和 dataLog Dir也需要区分下,将数据文件和日志文件分开存放,同时每个seve的这两变量所 对应的路径都是不同的1 serverx和myid: serverx这个数字就是对应,data/myid中的数字,在3个 serverl的myd文件中分别写入了1,2,3,那 么每个 server中的200.cg都配 server.1 server2.see3就行了。因为在同一台机器上,后面连着的2 口,3个 server都不要一样,西则罐口冲突

下载Zookeeperhttp://zookeeper.apache.org/releases.html

wget https://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

解压到 /usr/local/zkcluter

tar -zxvf zookeeper-3.4.14.tar.gz -C /zkcluster

重命名

mv zookeeper-3.4.14 zookeeper1

创建文件夹 data logs

mkdir data 
cd data 
mkdir logs

修改配置文件名称

cd conf 
mv zoo_sample.cfg zoo.cfg

复制拷贝3份

cp -r zookeeper1/ zookeeper2 
cp -r zookeeper1/ zookeeper3

分别配置zoo.cfg clientPort 2181 2182 2183

clientPort=2181 
dataDir=/usr/local/zkcluster/zookeeper-1/data
dataLogDir=/usr/local/zkcluster/zookeeper-1/data/logs
clientPort=2182 
dataDir=/usr/local/zkcluster/zookeeper-2/data
dataLogDir=/usr/local/zkcluster/zookeeper-2/data/logs
clientPort=2183 
dataDir=/usr/local/zkcluster/zookeeper-3/data
dataLogDir=/usr/local/zkcluster/zookeeper-3/data/logs

配置集群

分别在 zookeeper1 zookeeper2 zookeeper3,data目录下创建文件 myid,内容分别是 1、2、3、

touch myid

配置集群服务器ip列表zoo.cfg

server.1=127.0.0.1:2881:3881 
server.2=127.0.0.1:2882:3882 
server.3=127.0.0.1:2883:3883
#server.服务器id=当前服务器IP:服务器之间的通信端口:服务器之间的投票选举端口

依次启动

基本操作

进入zookeeper /bin目录 通过zkClient 的客户端

./zkcli.sh 连接本地zookeeper服务器
./zkCli.sh -server ip:port 连接指定服务器

help

创建节点

使用create 命令 可以创建zookeeper节点

ls / //查看节点信息
create [-s][-e] path data acl
create  -s/xxzk 123  //创建顺序节点
create  -e/xxzk 123  //创建零时节点   退出客户端 零时节点消失
  1. 创建顺序节点

    create  -s/xxzk 123  //创建顺序节点

  2. 创建零时节点

    create  -e/xxzk 123  //创建零时节点

  3. 创建永久节点

    create /testzk 123  

读取节点

lsget 命令

更新节点

set 命令

set path data [version]

删除节点

使用 delete 命令

delete path [version] 
其中version代表数据版本

 

原文地址:https://www.cnblogs.com/aGboke/p/12983674.html