zookeeper介绍
1.管理大量主机的协同服务。
2.分布式应用,实现分布式读写技术。
3.zk提供的服务
Naming service //按名称区分集群中的节点.
Configuration management //对加入节点的最新化处理。
Cluster management //实时感知集群中节点的增减.
Leader election //leader选举
Locking and synchronization service //修改时锁定数据,实现容灾.
Highly reliable data registry //节点宕机数据也是可用的。
zk安装(单机版,s201)
1.jdk
2.下载zookeeper-3.4.9.tar.gz
3.tar开
4.符号连接环境变量
$>ln -s zookeeper-3.4.9 zk
配置环境变量(/etc/profile)
export ZOOKEEPER_HOME=/soft/zk
export PATH=$PATH:ZOOKEEPER_HOME/bin
5.配置zk,复制zoo.cfg.sample-->zoo.cfg
[zk/conf/zoo.conf]
# The number of milliseconds of each tick
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/centos/zookeeper
clientPort=2181
6.启动zk服务器
$>bin/zkServer.sh start
7.验证zk
$>netstat -anop | grep 2181
8.启动客户端连接到服务器
$>zkCli.sh -server s201:2181 //进入zk命令行
$zk]help //查看帮助
$zk]quit //退出
$zk]create /a tom //
$zk]get /a //查看数据
$zk]ls / //列出节点
$zk]set /a tom //设置数据
$zk]delete /a //删除一个节点
$zk]rmr /a //递归删除所有节点。
9.通过api访问zk
9.1[pom.xml]
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.it18zhang</groupId>
<artifactId>ZooKeeperDemo</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.9</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
</dependencies>
</project>
9.2[代码]
package com.it18zhang.zktest;
import org.apache.zookeeper.ZooKeeper;
import org.junit.Test;
import java.util.List;
*/
public class TestZK {
@Test
public void ls() throws Exception{
ZooKeeper zk = new ZooKeeper("s201:2181",5000,null);
List<String> list = zk.getChildren("/",null);
for(String s : list){
System.out.println(s);
}
}
}
注:s201 可以更换成主机的IP地址,此处使用的hostname