• zk源码环境搭建


    zk不是使用maven管理的。

    将zk的src下的代码导入eclipse,lib下的jar包导入工程。

    QuorumPeerMain类的main方法是入口,启动了zk的server,参数是conf文件的路径,

    例如:org.apache.zookeeper.server.quorum.QuorumPeerMain /usr/local/software/zookeeper-3.4.3/bin/../conf/zoo.cfg

    客户端入口程序类是ZooKeeperMain。

    测试代码:

    import java.io.IOException;
    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.Watcher.Event.KeeperState;
    import org.apache.zookeeper.ZooDefs.Ids;
    import org.apache.zookeeper.ZooKeeper;
    
    public class CreateGroup implements Watcher {
        private static final int SESSION_TIMEOUT = 5000;
        private ZooKeeper zk;
        private CountDownLatch connectedSignal = new CountDownLatch(1);
    
        public void connect(String hosts) throws IOException, InterruptedException {
            zk = new ZooKeeper(hosts, SESSION_TIMEOUT, this);
            connectedSignal.await();
        }
    
        @Override
        public void process(WatchedEvent event) { // Watcher interface
            if (event.getState() == KeeperState.SyncConnected) {
                connectedSignal.countDown();
            }
        }
    
        public void create(String groupName) throws KeeperException,
                InterruptedException {
            String path = "/" + groupName;
            String createdPath = zk.create(path, null/* data */,
                    Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
            System.out.println("Created " + createdPath);
        }
    
        public void close() throws InterruptedException {
            zk.close();
        }
    
        public static void main(String[] args) throws Exception {
            CreateGroup createGroup = new CreateGroup();
            createGroup.connect(args[0]);
            createGroup.create(args[1]);
            createGroup.close();
        }
    }

    参数:localhost fan,链接本地,创建zkNode:fan。

    zk支持在window下开发使用,不建议生产使用。$ZOOKEEPER_HOME/bin/zkCli.cmd -server host:port  访问zk服务器。

  • 相关阅读:
    监控LVS
    技巧:结合Zabbix与SNMP监控嵌入式设备
    Vmware Exsi使用简要说明
    (转)Linux LVM逻辑卷配置过程详解(创建、扩展、缩减、删除、卸载、快照创建)
    Linux系统下减少LV(逻辑卷)容量
    Linux系统下增加LV(逻辑卷)容量 、Linux系统下减少LV(逻辑卷)容量
    yarn命令删除job
    mr自定义排序和分类
    mr利用shuffle阶段来实现数据去重的功能
    hadoop如何使用第三方依赖jar包(转载)
  • 原文地址:https://www.cnblogs.com/fanweiwei/p/3580057.html
Copyright © 2020-2023  润新知