准备工作
1、下载ZooKeeper的安装包 https://archive.apache.org/dist/zookeeper/zookeeper-3.4.9/ 我下载的版本是zookeeper-3.4.9。
2、将下载的zookeeper-3.4.9包放到/software目录下,并且解压到/usr/local
3、在/tmp目录下新建一个zookeeper目录
4、安装jdk8 (下载解压配置环境变量)
部署ZooKeeper集群环境
1、将/usr/local/zookeeper-3.4.9/conf目录下的zoo-sample.cfg文件名统一修改为zoo.cfg
2、然后vi zoo.cfg。修改配置信息如下:
其中:
initLimit=10: 对于从节点最初连接到主节点时的超时时间,单位为tick值的倍数。
syncLimit=5:对于主节点与从节点进行同步操作时的超时时间,单位为tick值的倍数。
dataDir=/tmp/zookeeper: 用于配置内存数据库保存的模糊快照的目录。即刚刚创建的data文件夹就是在此目录中。文件信息都存放在data目录下。
clientPort=2181: 表示客户端所连接的服务器所监听的端口号,默认是2181。即zookeeper对外提供访问的端口号。
server.1=node01:2888:3888
server.2=node02:2888:3888
server.3=node03:2888:3888
2888在zookeeper服务器之间及和leader连接时使用,
第二个端口号:3888是在进行leader选举时使用
2181 是服务连接zookeeper端口
新建myid文件
在三个linux机器上刚刚创建的zookeeper目录下新建一个myid文件并打开,vi myid命令。
在node01机器上输入1,保存退出;在node02机器上输入2,保存退出;在node03机器上输入3,保存退出。
这里的1,2,3是与server1,2,3相对应的。
配置环境变量
启动zookeeper
zkServer.sh start来启动。
zkServer.sh restart (重启)
zkServer.sh status (查看状态)
zkServer.sh stop (关闭)
zkServer.sh start-foreground (以打印日志方式启动)
连接到ZooKeeper
在命令行中输入:zkCli.sh
几个zNode节点操作的api简单介绍
create /parh data 创建一个名为/path的zNode节点,并包含数据data
delete /path 删除名为/path的zNode节点
exists /path 检查是否存在名为/path的zNode节点
setData /path data 设置名为/path的zNode的数据为data
getData /path 返回名为/path的zNode节点的数据信息
getChildren /path 返回所有/path节点的所有子节点列表
zNode节点还有不同的类型,持久(persistent)节点和临时(ephemeral)节点。持久的zNode,如/path,只能通过调用delete来进行删除,而临时的zNode则与之相反,当创建该节点的客户端崩溃或者关闭了与ZooKeeper服务器的连接时候,这个临时zNode节点就会被删除了。其中临时节点可用于实现分布式锁。