zookeeper简单搭建(及代码)
2015-07-09 15:09
363 查看
1、安装zookeeper
zookeeper安装环境为linux,下载的版本为:http://www.apache.org/dist/zookeeper/zookeeper-3.3.6/zookeeper-3.3.6.tar.gz
zookeeper的安装基本上可以按照 http://hadoop.apache.org/zookeeper/docs/current/ zookeeperStarted.html 这个页面上的步骤完成安装,这里主要介绍下部署一个集群的步骤,因为这个官方页面似乎讲得并不是非常详细(Running Replicated Zookeeper)。
由于手头机器不足,所以在一台机器上部署了3个server,如果你手头也比较紧,也可以这么做。那么我建了3个文件夹,如下
server1 server2 server3
然后每个文件夹里面解压一个zookeeper的下载包,并且还建了几个文件夹,总体结构如下,最后那个是下载过来压缩包的解压文件
data dataLog logs zookeeper-3.3.2
那么首先进入data目录,创建一个myid的文件,里面写入一个数字,比如我这个是server1,那么就写一个1,server2对应myid文件就写入2,server3对应myid文件就写个3
然后进入zookeeper-3.3.2/conf目录,那么如果是刚下过来,会有3个文件,configuration.xml, log4j.properties,zoo_sample.cfg,这3个文件我们首先要做的就是在这个目录创建一个zoo.cfg的配置文件,当然你可以把zoo_sample.cfg文件改成zoo.cfg,配置的内容如下所示:
tickTime=2000
initLimit=5
syncLimit=2
dataDir=xxxx/zookeeper/server1/data
dataLogDir=xxx/zookeeper/server1/dataLog
clientPort=2181
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890
2、启动zookeeper服务端
进入到bin目录中,执行命令,./zkServer.sh start启动,(也可以使用./zkServer.sh start zoo.cfg来指定配置文件进行启动)
3、启动客户端
./zkCli.sh –server 127.0.0.1:2181,这个实际上是简单的模拟,不用启动,直接在远程用java等来连接执行也是一样的。
4、java连接zookeeper
使用到两个java包,一个是log4j,一个是zookeeper的jar包。其中zookeeper的jar包在这里可以下载http://www.java2s.com/Code/Jar/z/Downloadzookeeperjar.htm
log4j的java包任意下载一个就行了,我工程直接利用maven下载的。
上面一段是代码,执行完毕后,到服务端利用命令查看,可以发现已经生成了节点。
zookeeper安装环境为linux,下载的版本为:http://www.apache.org/dist/zookeeper/zookeeper-3.3.6/zookeeper-3.3.6.tar.gz
zookeeper的安装基本上可以按照 http://hadoop.apache.org/zookeeper/docs/current/ zookeeperStarted.html 这个页面上的步骤完成安装,这里主要介绍下部署一个集群的步骤,因为这个官方页面似乎讲得并不是非常详细(Running Replicated Zookeeper)。
由于手头机器不足,所以在一台机器上部署了3个server,如果你手头也比较紧,也可以这么做。那么我建了3个文件夹,如下
server1 server2 server3
然后每个文件夹里面解压一个zookeeper的下载包,并且还建了几个文件夹,总体结构如下,最后那个是下载过来压缩包的解压文件
data dataLog logs zookeeper-3.3.2
那么首先进入data目录,创建一个myid的文件,里面写入一个数字,比如我这个是server1,那么就写一个1,server2对应myid文件就写入2,server3对应myid文件就写个3
然后进入zookeeper-3.3.2/conf目录,那么如果是刚下过来,会有3个文件,configuration.xml, log4j.properties,zoo_sample.cfg,这3个文件我们首先要做的就是在这个目录创建一个zoo.cfg的配置文件,当然你可以把zoo_sample.cfg文件改成zoo.cfg,配置的内容如下所示:
tickTime=2000
initLimit=5
syncLimit=2
dataDir=xxxx/zookeeper/server1/data
dataLogDir=xxx/zookeeper/server1/dataLog
clientPort=2181
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890
2、启动zookeeper服务端
进入到bin目录中,执行命令,./zkServer.sh start启动,(也可以使用./zkServer.sh start zoo.cfg来指定配置文件进行启动)
3、启动客户端
./zkCli.sh –server 127.0.0.1:2181,这个实际上是简单的模拟,不用启动,直接在远程用java等来连接执行也是一样的。
4、java连接zookeeper
使用到两个java包,一个是log4j,一个是zookeeper的jar包。其中zookeeper的jar包在这里可以下载http://www.java2s.com/Code/Jar/z/Downloadzookeeperjar.htm
log4j的java包任意下载一个就行了,我工程直接利用maven下载的。
import java.io.IOException; import org.apache.zookeeper.CreateMode; import org.apache.zookeeper.KeeperException; import org.apache.zookeeper.WatchedEvent; import org.apache.zookeeper.Watcher; import org.apache.zookeeper.ZooDefs.Ids; import org.apache.zookeeper.ZooKeeper; public class Main { public static void main(String[] args) throws IOException, KeeperException, InterruptedException { // TODO Auto-generated method stub ZooKeeper zk = new ZooKeeper("10.218.137.73:2181", 500000,new Watcher() { // 监控所有被触发的事件 public void process(WatchedEvent event) { //dosomething } }); //创建一个节点root,数据是mydata,不进行ACL权限控制,节点为永久性的(即客户端shutdown了也不会消失) zk.create("/jianghuiwen", "mydata".getBytes(),Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); } }
上面一段是代码,执行完毕后,到服务端利用命令查看,可以发现已经生成了节点。
相关文章推荐
- Shell脚本实现自动安装zookeeper
- 基于Zookeeper的使用详解
- 基于zk的配置管理
- SolrCloud4.9+zookeeper在CentOS上的搭建与安装
- 基于外部ZooKeeper的GlusterFS作为分布式文件系统的完全分布式HBase集群安装指南
- redis集群搭建
- 使用 RMI + ZooKeeper 实现远程调用框架
- 轻量级分布式 RPC 框架
- 整合Kafka到Spark Streaming——代码示例和挑战
- HBase 系统架构
- 使用zookeeper实现分布式共享锁
- 将Zookeeper集成到你的应用中
- 基于zookeeper+leveldb搭建activemq集群
- Fourinone四合一分布式计算框架整体介绍
- 工作中的zookeeper
- storm
- zookeeper技术浅析
- ZOOKEEPER的作用
- zookeeper集群模式配置
- 分布式服务框架 Zookeeper(一)