`
yehevah
  • 浏览: 1323 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

zookeeper

阅读更多
记录下工作的点点滴滴。

好文推荐:http://agapple.iteye.com/blog/1111377

一、zookeeper的使用

下载zookeeper:
http://zookeeper.apache.org/releases.html

1、单机安装

(1)设置Path路径,将java/bin目录加入到path路径
(2)解压zookeeper
(3)将zookeeper目录下config/zoo_sample.cfg改为zoo.cfg
(4)修改zoo.cfg文件,修改dataDir,新增dataLogDir,同时为data文件和log文件建立相应的目录
dataDir=D:/zookeeper/servers/server0/data
dataLogDir=D:/zookeeper/servers/server0/logs
(5)修改zoo.cfg,根据实际需要修改配置
(6)双击bin目录下zkServer.cmd文件即可启动zookeeper服务

2、集群安装

(1)完成单机安装的步骤

(2)按照同样的方式安装几台zookeeper服务,至少3台,依次为server0、server1、server2,,配置同单机安装。

(3)修改每台zk服务的zoo.cfg文件,增加3个配置。保证server0、server1、server2每台服务地址不一样。server.x表示是第x台服务。
server.0=localhost:2881:3881
server.1=localhost:2882:3882
server.2=localhost:2883:3883

(4)修改每台zk服务的zoo.cfg文件,修改clientPort=2181,该属性为该台zk服务对应客户端调用的端口

(5)在每台zk服务的data目录下建立文件,文件名为myid,文件内容与server的序号对应,server.0对应的文件内容为0

(6)启动每台zk服务,即可通过控制台日志看到集群的情况。


3、zk客户端使用

zk客户端程序使用zkclient.jar和zookeeper.jar

依赖包包括:
commons-logging-1.1.3.jar
slf4j相关jar包

实例程序
import java.util.concurrent.CountDownLatch;

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;
import org.apache.zookeeper.data.Stat;

public class ZKConnection {
    /**
     * server列表, 以逗号分割
     */
    protected String hosts = "localhost:2181,localhost:2182,localhost:2183";
    /**
     * 连接的超时时间, 毫秒
     */
    private static final int SESSION_TIMEOUT = 5000;
    private CountDownLatch connectedSignal = new CountDownLatch(1);
    protected ZooKeeper zk;

    /**
     * 连接zookeeper server
     */
    public void connect() throws Exception {
        zk = new ZooKeeper(hosts, SESSION_TIMEOUT, new ConnWatcher());
        // 等待连接完成
        connectedSignal.await();
    }

    public class ConnWatcher implements Watcher {
        public void process(WatchedEvent event) {
            // 连接建立, 回调process接口时, 其event.getState()为KeeperState.SyncConnected
            if (event.getState() ==Event.KeeperState.SyncConnected ) {
                // 放开闸门, wait在connect方法上的线程将被唤醒
                connectedSignal.countDown();
            }
        }
    }
    /**
     * 创建临时节点
     */
    public void create(String nodePath, byte[] data) throws Exception {
        zk.create(nodePath, data, Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL);
    }

    public byte[] get(String nodePath,boolean wath,Stat stat) throws KeeperException, InterruptedException{
    	return zk.getData(nodePath, wath, stat);
    }
    
    public static void main(String[] args) throws Exception {
		
    	byte[] data=new String("helloworld").getBytes("utf-8");
    	ZKConnection zkConnection=new ZKConnection();
    	zkConnection.connect();
    	
    	zkConnection.create("/mydate", data);
    	
    	Thread.sleep(20000);
    	
    	Stat stat=new Stat();
    	byte[] data1=zkConnection.get("/mydate", true, stat);
    	
    	System.out.println(new String(data1, "utf-8"));
    	
    	
    	
	}
    
    
    
}



分享到:
评论

相关推荐

    zookeeper-3.4.6_zookeeper_

    《Zookeeper:分布式服务治理的核心组件》 Zookeeper,作为Apache的一个开源项目,是分布式应用程序协调服务的基石,它是一个高可用、高性能的分布式一致性服务。在标题“zookeeper-3.4.6_zookeeper_”中,我们可以...

    apache-zookeeper(apache-zookeeper-3.7.1-bin.tar.gz)

    apache-zookeeper分布式框架,压缩包内容:(apache-zookeeper-3.7.1-bin.tar.gz、apache-zookeeper-3.7.1.tar.gz、apache-zookeeper-3.6.4-bin.tar.gz、apache-zookeeper-3.6.4.tar.gz、apache-zookeeper-3.5.10-...

    ZooKeeper-分布式过程协同技术详解 和从Paxos到Zookeeper

    《ZooKeeper:分布式过程协同技术详解》与《从Paxos到Zookeeper:分布式一致性原理与实践》这两本书深入探讨了分布式系统中的关键组件ZooKeeper及其背后的一致性算法Paxos。ZooKeeper是由Apache软件基金会开发的一个...

    zookeeper 3.6.3 源码下载

    ZooKeeper 3.6.3 是一个广泛用于分布式系统的协调服务,它为分布式应用程序提供了高效且可靠的命名服务、配置管理、集群同步、分布式锁等核心功能。在深入理解源码之前,我们需要先了解ZooKeeper的基本概念和工作...

    zookeeper-3.9.1.zip

    Apache ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它是集群的管理者,监视着分布式应用程序的运行状态,提供诸如命名服务、配置管理、分布式同步、组服务等分布式基础服务。Zookeeper的设计目标...

    Zookeeper_安装和配置

    Zookeeper 是一个分布式的,开放源码的分布式应用程序协调服务,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终将简单易用的接口和性能高效、功能稳定的系统提供给用户。...

    centos8安装zookeeper3.8.0详细步骤

    CentOS 8 安装 ZooKeeper 3.8.0 详细步骤 ZooKeeper 是一个分布式应用程序协调服务,提供了配置管理、名称服务、分布式同步和提供组服务等功能。下面是 CentOS 8 安装 ZooKeeper 3.8.0 的详细步骤。 1. 下载安装包...

    linux中zookeeper安装包zookeeper-3.4.8.tar

    在IT领域,Zookeeper是一个非常重要的分布式协调服务,由Apache Hadoop项目开发并维护。它在大规模分布式系统中被广泛用于数据管理、配置共享、命名服务、群组服务以及分布式同步。Zookeeper-3.4.8是其一个稳定版本...

    zookeeper可视化工具

    **Zookeeper可视化工具详解** Apache ZooKeeper 是一个分布式协调服务,它为分布式应用程序提供高度可靠的命名服务、配置管理、集群同步、领导选举等核心功能。在运维和开发过程中,为了更方便地管理和监控...

    zookeeper-3.4.12版本

    Zookeeper是Apache软件基金会的一个开源项目,主要用于分布式协调服务,它是集群管理的基石,被广泛应用于大数据、云计算等领域。Zookeeper 3.4.12是该系统的一个稳定版本,提供了解压即用的便利性。 一、Zookeeper...

    zookeeper版本为zookeeper-3.4.10.tar.gz

    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终将简单易用的接口和性能高效、功能稳定的系统提供给用户。...

    apache-zookeeper-3.5.6-bin.tar

    Apache ZooKeeper 是一个分布式协调服务,它为分布式应用程序提供了一个高度可用、高性能的框架,用于管理数据和配置信息,处理命名服务、分布式同步以及组服务等问题。ZooKeeper 的设计目标是简化分布式环境中的...

    apache-zookeeper-3.8.4-bin.tar

    Apache ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它是集群的管理者,监视着分布式应用程序,提供了诸如配置维护、命名服务、分布式同步、组服务等这些分布式基础服务。Zookeeper是Apache Hadoop...

    zookeeper集群升级方案

    ### Zookeeper 集群升级方案详解 #### 一、需求背景 随着业务的发展和技术的进步,现有的Zookeeper集群系统版本过低(当前版本为3.3.4),导致某些功能特性无法得到支持或表现不佳,这直接影响到了业务的正常运行...

    zookeeper-3.8.0安装包下载

    Apache ZooKeeper 是一个高度可靠的分布式协调系统,广泛应用于云原生环境中的服务发现、配置管理、命名服务等场景。Zookeeper-3.8.0 是该系统的最新版本,提供了更稳定和高效的服务。 Zookeeper 的核心概念包括...

    zookeeper连接工具zktools

    《Zookeeper连接工具ZkTools详解》 Zookeeper作为一个分布式协调服务,在云原生环境中扮演着至关重要的角色。它提供了一种可靠的方式来管理和维护配置信息、命名服务、集群同步、分布式锁等。为了方便开发者与...

    zookeeper限制ip版

    《Zookeeper 3.4.14 IP限制功能详解及源码改造》 Apache ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。...

    ZooKeeper3.4.9 windos和linux

    《ZooKeeper 3.4.9:在Windows与Linux上的部署与应用》 ZooKeeper,一个由Apache基金会开发的分布式协调服务,是许多大型分布式系统中的关键组件。3.4.9版本是ZooKeeper的一个稳定版本,提供了一系列增强功能和性能...

    zookeeper-3.4.6.zip

    《Apache ZooKeeper 3.4.6:分布式协调服务详解》 Apache ZooKeeper 是一个开源的分布式协调服务,它为分布式应用提供了一个高效且可靠的命名服务、配置管理、集群同步和分布式锁等基础功能。在Zookeeper 3.4.6版本...

    zookeeper增加权限登录验证

    ZooKeeper 增加权限登录验证 ZooKeeper 是一个广泛使用的分布式协调服务,它提供了许多有用的功能,如配置管理、名字服务、分布式锁等。然而,在 ZooKeeper 中存在一些安全漏洞,例如未经授权的访问、数据泄露等。...

Global site tag (gtag.js) - Google Analytics