在CentOS7部署zookeeper集群以及简单API使用

时间:2023-03-09 04:20:39
在CentOS7部署zookeeper集群以及简单API使用

一.部署zookeeper集群   在CentOS7部署zookeeper集群以及简单API使用http://www.cnblogs.com/cyfonly/p/5626532.html

zookeeper是一个针对大型分布式系统的协调系统,提供的功能有统一名称服务、分布式同步等。

1.上传zk安装包到CentOS4

2.解压     tar -xzvf zookeeper-3.4.10.tar.gz -C app/

3.配置(先在一台节点上配置)

3.1添加一个zoo.cfg配置文件

进入配置文件目录: cd /home/koushengrui/app/zookeeper-3.4.10/conf/

复制现有的配置文件模板,并命名为zoo.cfg:cp  zoo_sample.cfg zoo.cfg

3.2修改配置文件(zoo.cfg)

  dataDir=/home/koushengrui/app/zookeeper-3.4.10/data
  server.1=CentOS4:2888:3888
  server.2=CentOS5:2888:3888
  server.3=CentOS6:2888:3888

其中2888是leader与follower通信的端口,3888是选举通信的端口。

3.3在dataDir目录中创建一个myid文件,里面内容是server.N中的N(server.2里面内容为2)

echo 1 > myid

3.4将配置好的zk拷贝到其他节点

scp -r /home/koushengrui/app/zookeeper-3.4.10 CentOS5:/home/koushengrui/app/

scp -r /home/koushengrui/app/zookeeper-3.4.10 CentOS6:/home/koushengrui/app/

3.5注意:在其他节点上一定要修改myid的内容

在CentOS5上应该将myid的内容改为2 (echo 2 > myid)

在CentOS5上应该将myid的内容改为3 (echo 3 > myid)

4.启动集群

在三台机器上分别运行 ./zkServer.sh start,这个时候若严格按照上面步骤部署,且已经关闭防火墙的话,则zooKeeper集群应该可以正常启动。

用 ./zkServer.sh status 命令看各节点的角色,会显示为leader或者follower。

在任一台机器上运行

./zkCli.sh

将连接到本机的zooKeeper节点,用 help 命令可以看到所有支持的命令,其中 ls path 可以看到某节点下的子节点,用 get path 可以看到某节点下的数据,用 set path data 设置某节点下的数据

二.zooKeeper简单概念

zooKeeper的每个节点称为znode,znode除了本身能够包含一部分数据外,还能拥有子节点。znode的数据主要是协调的数据,如状态、配置等信息,当znode的数据发生变化或者子节点发生变化时,基于Watcher机制,会发出相应的通知给订阅其状态变化的客户端。