一.部署zookeeper集群 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机制,会发出相应的通知给订阅其状态变化的客户端。