Zookeeper实战之嵌入式运行Zookeeper单机模式
来源:互联网 发布:c语言if else语句例子 编辑:程序博客网 时间:2024/05/16 15:00
很多使用Zookeeper的情景是需要我们嵌入Zookeeper作为自己的分布式应用系统的一部分来提供分布式服务,此时我们需要通过程序的方式来启动Zookeeper。此时可以通过Zookeeper API的ZooKeeperServerMain类来启动Zookeeper服务。
下面是一个单机模式下启动Zookeeper服务的例子
package my.zookeeperstudy.server; import org.apache.zookeeper.*;import org.apache.zookeeper.server.ServerConfig;import org.apache.zookeeper.server.ZooKeeperServerMain;import org.apache.zookeeper.server.quorum.QuorumPeerConfig; import java.io.File;import java.io.IOException;import java.util.List;import java.util.Properties; public class StandaloneZKServer { public static void main(String[] args) throws Exception { Properties props = new Properties(); props.setProperty("tickTime", "2000"); props.setProperty("dataDir", new File(System.getProperty("java.io.tmpdir"), "zookeeper").getAbsolutePath()); props.setProperty("clientPort", "2181"); props.setProperty("initLimit", "10"); props.setProperty("syncLimit", "5"); QuorumPeerConfig quorumConfig = new QuorumPeerConfig(); try { quorumConfig.parseProperties(props); } catch(Exception e) { throw new RuntimeException(e); } final ZooKeeperServerMain zkServer = new ZooKeeperServerMain(); final ServerConfig config = new ServerConfig(); config.readFrom(quorumConfig); zkServer.runFromConfig(config); } }
客户端例子如下
package my.zookeeperstudy.server; import org.apache.zookeeper.*;import java.util.List; public class Client { public static void main(String[] args) throws Exception { ZooKeeper zk = new ZooKeeper("localhost:2181", 10000, new Watcher() { public void process(WatchedEvent event) { System.out.println("event: " + event.getType()); } }); System.out.println(zk.getState()); zk.create("/myApps", "myAppsData".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); zk.create("/myApps/App1", "App1Data".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); zk.create("/myApps/App2", "App2Data".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); zk.create("/myApps/App3", "".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); zk.setData("/myApps/App3","App3Data".getBytes(), -1); System.out.println(zk.exists("/myApps", true)); System.out.println(new String(zk.getData("/myApps", true, null))); List<String> children = zk.getChildren("/myApps", true); for (String child : children) { System.out.println(new String(zk.getData("/myApps/" + child, true, null))); zk.delete("/myApps/" + child,-1); } zk.delete("/myApps",-1); zk.close(); }}
首先启动StandaloneZKServer类来启动Zookeeper服务,然后运行Client类来连接Zookeeper并操作数据。
原文链接:Zookeeper实战之嵌入式运行Zookeeper单机模式
0 0
- Zookeeper实战之嵌入式运行Zookeeper单机模式
- Zookeeper实战之嵌入式运行Zookeeper集群模式
- Zookeeper实战之单机模式
- Zookeeper实战之单机模式
- Zookeeper实战之单机集群模式
- Zookeeper实战之单机集群模式
- ZooKeeper之搭建单机模式。
- Zookeeper实战之集群模式
- Zookeeper单机模式安装
- zookeeper单机模式安装
- zookeeper单机模式安装
- zookeeper之单机安装
- zookeeper之单机安装
- zookeeper 单机模式安装配置
- zookeeper单机与分布式模式
- zookeeper单机伪集群模式
- Zookeeper单机模式安装配置
- Zookeeper的单机模式搭建
- 第2章 URL与资源
- "惊群",看看nginx怎么解决它的
- 《大话操作系统——做坚实的工程实践派》(5)
- 资源链接
- 全文索引-lucene,solr,nutch,hadoop之nutch与hadoop
- Zookeeper实战之嵌入式运行Zookeeper单机模式
- 大数据时代之hadoop(一):hadoop安装
- Zookeeper实战之嵌入式运行Zookeeper集群模式
- 友元的简单使用
- 简单的备份日志和自动重启tomcat的shell脚本
- zoj 3814 Sawtooth Puzzle
- 给工作赋予的新意义——Leo鉴书78
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- Anagram