安装并使用ZooKeeper API对Znode进行控制。
Zookeeper配置
下载zookeeper
首先在官网下载zookeeper:
wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz
解压:
sudo tar xzvf zookeeper-3.4.13.tar.gz -C /usr/local
设置权限:
chown -R hadoop:hadoop zookeeper
配置环境变量
export PATH=$PATH:/usr/local/zookeeper/bin
修改配置文件
重命名:
sudo mv zookeeper-3.4.13/ zookeeper
mv zoo_sample.cfg zoo.cfg
修改zoo.cfg
:
可以改conf文件,创建多个端口-> 多个server:
启动zookeeper
zkServer.sh start
验证是否启动
telnet localhost 2181
输入start
,若看到Zookeeper version则说明启动成功
输入jps
看是否启动:
关闭zookeeper
zkServer.sh stop
Zookeeper命令行
参考这里。
进入命令行工具:
zkCli.sh -server
使用 ls 命令来查看当前 ZooKeeper 中所包含的内容:
下面我们通过 set 命令来对 zk 所关联的字符串进行设置:
下面我们将刚才创建的 znode 删除:
delete /zk
删除节点:
rmr /zk
编写Client程序
创建maven项目
修改pox.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>Dase</groupId>
<artifactId>1</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.13</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
下载JUnitGenerator V2.0
在IDEA
中,JUnit已经默认下载好,我们需要添加JUnitGenerator V2.0插件:
编写程序
import java.util.List;
import org.apache.zookeeper.*;
import org.apache.zookeeper.ZooDefs.Ids;
import org.apache.zookeeper.data.Stat;
public class Simple {
private static final String connectString = "localhost:2181";
private static final int sessionTimeout = 2000;
p