Example usage for org.apache.zookeeper.server.quorum QuorumPeerConfig getTickTime

List of usage examples for org.apache.zookeeper.server.quorum QuorumPeerConfig getTickTime

Introduction

In this page you can find the example usage for org.apache.zookeeper.server.quorum QuorumPeerConfig getTickTime.

Prototype

public int getTickTime() 

Source Link

Usage

From source file:beans.SystemStartable.java

License:Apache License

@Override
public void onStart() throws Throwable {
    // Initialize ZooKeeper.
    Properties properties = new Properties();
    InputStream propertiesStream = getClass().getClassLoader().getResourceAsStream("zoo.cfg");
    properties.load(propertiesStream);/*from w  w  w  . j  ava 2 s . com*/

    QuorumPeerConfig quorumConfig = new QuorumPeerConfig();
    quorumConfig.parseProperties(properties);

    zkServer = new ZooKeeperServer();
    zkServer.setTickTime(quorumConfig.getTickTime());
    zkServer.setMinSessionTimeout(quorumConfig.getMinSessionTimeout());
    zkServer.setMaxSessionTimeout(quorumConfig.getMaxSessionTimeout());

    zkDirectory = Files.createTempDirectory("zookeeper").toFile();
    LOG.info("Using ZooKeeper directory: " + zkDirectory);
    FileTxnSnapLog txnLog = new FileTxnSnapLog(zkDirectory, zkDirectory);
    zkServer.setTxnLogFactory(txnLog);

    cnxnFactory = ServerCnxnFactory.createFactory();
    cnxnFactory.configure(quorumConfig.getClientPortAddress(), quorumConfig.getMaxClientCnxns());
    cnxnFactory.startup(zkServer);
}

From source file:com.chiralBehaviors.autoconfigure.ZookeeperLauncher.java

License:Open Source License

/**
 * Copied from QuorumPeerMain// www. j  av  a 2s . com
 */
protected void runFromConfig(QuorumPeerConfig config) throws IOException {
    LOG.info("Starting quorum peer");
    ServerCnxnFactory cnxnFactory = ServerCnxnFactory.createFactory();
    cnxnFactory.configure(config.getClientPortAddress(), config.getMaxClientCnxns());

    quorumPeer = new QuorumPeer();
    quorumPeer.setClientPortAddress(config.getClientPortAddress());
    quorumPeer
            .setTxnFactory(new FileTxnSnapLog(new File(config.getDataLogDir()), new File(config.getDataDir())));
    quorumPeer.setQuorumPeers(config.getServers());
    quorumPeer.setElectionType(config.getElectionAlg());
    quorumPeer.setMyid(config.getServerId());
    quorumPeer.setTickTime(config.getTickTime());
    quorumPeer.setMinSessionTimeout(config.getMinSessionTimeout());
    quorumPeer.setMaxSessionTimeout(config.getMaxSessionTimeout());
    quorumPeer.setInitLimit(config.getInitLimit());
    quorumPeer.setSyncLimit(config.getSyncLimit());
    quorumPeer.setQuorumVerifier(config.getQuorumVerifier());
    quorumPeer.setCnxnFactory(cnxnFactory);
    quorumPeer.setZKDatabase(new ZKDatabase(quorumPeer.getTxnFactory()));
    quorumPeer.setLearnerType(config.getPeerType());

    quorumPeer.start();
}

From source file:com.glaf.cluster.catalina.session.QuorumPeerMain.java

License:Apache License

public void runFromConfig(QuorumPeerConfig config) throws IOException {
    try {// www . jav  a 2s  . c  o  m
        ManagedUtil.registerLog4jMBeans();
    } catch (JMException e) {
        LOG.warn("Unable to register log4j JMX control", e);
    }

    LOG.info("Starting quorum peer");
    try {
        ServerCnxnFactory cnxnFactory = ServerCnxnFactory.createFactory();
        cnxnFactory.configure(config.getClientPortAddress(), config.getMaxClientCnxns());

        quorumPeer = new QuorumPeer();
        quorumPeer.setClientPortAddress(config.getClientPortAddress());
        quorumPeer.setTxnFactory(
                new FileTxnSnapLog(new File(config.getDataLogDir()), new File(config.getDataDir())));
        quorumPeer.setQuorumPeers(config.getServers());
        quorumPeer.setElectionType(config.getElectionAlg());
        quorumPeer.setMyid(config.getServerId());
        quorumPeer.setTickTime(config.getTickTime());
        quorumPeer.setMinSessionTimeout(config.getMinSessionTimeout());
        quorumPeer.setMaxSessionTimeout(config.getMaxSessionTimeout());
        quorumPeer.setInitLimit(config.getInitLimit());
        quorumPeer.setSyncLimit(config.getSyncLimit());
        quorumPeer.setQuorumVerifier(config.getQuorumVerifier());
        quorumPeer.setCnxnFactory(cnxnFactory);
        quorumPeer.setZKDatabase(new ZKDatabase(quorumPeer.getTxnFactory()));
        quorumPeer.setLearnerType(config.getPeerType());

        quorumPeer.start();
        quorumPeer.join();
    } catch (InterruptedException e) {
        // warn, but generally this is ok
        LOG.warn("Quorum Peer interrupted", e);
    }
}

From source file:com.nesscomputing.service.discovery.server.zookeeper.ManagedQuorumPeer.java

License:Apache License

@Inject
ManagedQuorumPeer(final QuorumPeerConfig quorumPeerConfig, final NIOServerCnxn.Factory cnxnFactory,
        final FileTxnSnapLog fileTxnSnapLog) {
    quorumPeer = new QuorumPeer();
    quorumPeer.setClientPortAddress(quorumPeerConfig.getClientPortAddress());
    quorumPeer.setTxnFactory(fileTxnSnapLog);
    quorumPeer.setQuorumPeers(quorumPeerConfig.getServers());
    quorumPeer.setElectionType(quorumPeerConfig.getElectionAlg());
    quorumPeer.setMyid(quorumPeerConfig.getServerId());
    quorumPeer.setTickTime(quorumPeerConfig.getTickTime());
    quorumPeer.setMinSessionTimeout(quorumPeerConfig.getMinSessionTimeout());
    quorumPeer.setMaxSessionTimeout(quorumPeerConfig.getMaxSessionTimeout());
    quorumPeer.setInitLimit(quorumPeerConfig.getInitLimit());
    quorumPeer.setSyncLimit(quorumPeerConfig.getSyncLimit());
    quorumPeer.setQuorumVerifier(quorumPeerConfig.getQuorumVerifier());
    quorumPeer.setCnxnFactory(cnxnFactory);
    quorumPeer.setZKDatabase(new ZKDatabase(quorumPeer.getTxnFactory()));
    quorumPeer.setLearnerType(quorumPeerConfig.getPeerType());
}

From source file:com.nesscomputing.service.discovery.server.zookeeper.ManagedStandaloneZookeeper.java

License:Apache License

@Inject
ManagedStandaloneZookeeper(final QuorumPeerConfig quorumPeerConfig, final NIOServerCnxn.Factory cnxnFactory,
        final FileTxnSnapLog fileTxnSnapLog) {
    zookeeperServer = new ZooKeeperServer();
    this.cnxnFactory = cnxnFactory;

    zookeeperServer.setTxnLogFactory(fileTxnSnapLog);
    zookeeperServer.setTickTime(quorumPeerConfig.getTickTime());
    zookeeperServer.setMinSessionTimeout(quorumPeerConfig.getMinSessionTimeout());
    zookeeperServer.setMaxSessionTimeout(quorumPeerConfig.getMaxSessionTimeout());
}

From source file:com.splicemachine.test.SpliceZoo.java

License:Apache License

public SpliceZoo(QuorumPeerConfig config, int number) throws IOException {
    this.config = config;
    this.peer = new QuorumPeer();
    ServerCnxnFactory cnxnFactory = ServerCnxnFactory.createFactory();
    cnxnFactory.configure(config.getClientPortAddress(), config.getMaxClientCnxns());
    peer.setClientPortAddress(config.getClientPortAddress());
    peer.setTxnFactory(new FileTxnSnapLog(new File(config.getDataLogDir()), new File(config.getDataDir())));
    peer.setQuorumPeers(config.getServers());
    peer.setElectionType(config.getElectionAlg());
    peer.setMyid(config.getServerId());/*w ww . j  av  a2s.c o  m*/
    peer.setTickTime(config.getTickTime());
    peer.setMinSessionTimeout(config.getMinSessionTimeout());
    peer.setMaxSessionTimeout(config.getMaxSessionTimeout());
    peer.setInitLimit(config.getInitLimit());
    peer.setSyncLimit(config.getSyncLimit());
    peer.setQuorumVerifier(config.getQuorumVerifier());
    peer.setCnxnFactory(cnxnFactory);
    peer.setZKDatabase(new ZKDatabase(peer.getTxnFactory()));
    peer.setLearnerType(config.getPeerType());
    peer.setMyid(number);
}

From source file:io.fabric8.core.zookeeper.FabricZooKeeperServer.java

License:Apache License

private Destroyable activateInternal(Map<String, ?> configuration) throws Exception {
    LOGGER.info("Creating zookeeper server with: {}", configuration);

    Properties props = new Properties();
    for (Map.Entry<String, ?> entry : configuration.entrySet()) {
        props.put(entry.getKey(), entry.getValue());
    }/*  w  w w  . j a  v a2 s  .c o m*/

    //Check required directories exist or create them.
    if (!dataDir.exists() && !dataDir.mkdirs()) {
        throw new IOException("Failed to create ZooKeeper dataDir at: " + dataDir.getAbsolutePath());
    }

    if (!dataLogDir.exists() && !dataLogDir.mkdirs()) {
        throw new IOException("Failed to create ZooKeeper dataLogDir at: " + dataLogDir.getAbsolutePath());
    }

    // Create myid file
    String serverId = (String) props.get(SERVER_ID);
    if (serverId != null) {
        props.remove(SERVER_ID);
        File myId = new File(dataDir, MY_ID);
        if (myId.exists() && !myId.delete()) {
            throw new IOException("Failed to delete " + myId);
        }
        if (myId.getParentFile() == null
                || (!myId.getParentFile().exists() && !myId.getParentFile().mkdirs())) {
            throw new IOException("Failed to create " + myId.getParent());
        }
        FileOutputStream fos = new FileOutputStream(myId);
        try {
            fos.write((serverId + "\n").getBytes());
        } finally {
            fos.close();
        }
    }

    QuorumPeerConfig peerConfig = getPeerConfig(props);

    if (!peerConfig.getServers().isEmpty()) {
        NIOServerCnxnFactory cnxnFactory = new NIOServerCnxnFactory();
        cnxnFactory.configure(peerConfig.getClientPortAddress(), peerConfig.getMaxClientCnxns());

        QuorumPeer quorumPeer = new QuorumPeer();
        quorumPeer.setClientPortAddress(peerConfig.getClientPortAddress());
        quorumPeer.setTxnFactory(
                new FileTxnSnapLog(new File(peerConfig.getDataLogDir()), new File(peerConfig.getDataDir())));
        quorumPeer.setQuorumPeers(peerConfig.getServers());
        quorumPeer.setElectionType(peerConfig.getElectionAlg());
        quorumPeer.setMyid(peerConfig.getServerId());
        quorumPeer.setTickTime(peerConfig.getTickTime());
        quorumPeer.setMinSessionTimeout(peerConfig.getMinSessionTimeout());
        quorumPeer.setMaxSessionTimeout(peerConfig.getMaxSessionTimeout());
        quorumPeer.setInitLimit(peerConfig.getInitLimit());
        quorumPeer.setSyncLimit(peerConfig.getSyncLimit());
        quorumPeer.setQuorumVerifier(peerConfig.getQuorumVerifier());
        quorumPeer.setCnxnFactory(cnxnFactory);
        quorumPeer.setZKDatabase(new ZKDatabase(quorumPeer.getTxnFactory()));
        quorumPeer.setLearnerType(peerConfig.getPeerType());

        try {
            LOGGER.debug("Starting quorum peer \"%s\" on address %s", quorumPeer.getMyid(),
                    peerConfig.getClientPortAddress());
            quorumPeer.start();
            LOGGER.debug("Started quorum peer \"%s\"", quorumPeer.getMyid());
        } catch (Exception e) {
            LOGGER.warn(String.format("Failed to start quorum peer \"%s\", reason : %s ", quorumPeer.getMyid(),
                    e.getMessage()));
            quorumPeer.shutdown();
            throw e;
        }

        // Register stats provider
        ClusteredServer server = new ClusteredServer(quorumPeer);
        return server;
    } else {
        ServerConfig serverConfig = getServerConfig(peerConfig);

        ZooKeeperServer zkServer = new ZooKeeperServer();
        FileTxnSnapLog ftxn = new FileTxnSnapLog(new File(serverConfig.getDataLogDir()),
                new File(serverConfig.getDataDir()));
        zkServer.setTxnLogFactory(ftxn);
        zkServer.setTickTime(serverConfig.getTickTime());
        zkServer.setMinSessionTimeout(serverConfig.getMinSessionTimeout());
        zkServer.setMaxSessionTimeout(serverConfig.getMaxSessionTimeout());
        NIOServerCnxnFactory cnxnFactory = new NIOServerCnxnFactory() {
            protected void configureSaslLogin() throws IOException {
            }
        };
        cnxnFactory.configure(serverConfig.getClientPortAddress(), serverConfig.getMaxClientCnxns());

        try {
            LOGGER.debug("Starting ZooKeeper server on address %s", peerConfig.getClientPortAddress());
            cnxnFactory.startup(zkServer);
            LOGGER.debug("Started ZooKeeper server");
        } catch (Exception e) {
            LOGGER.warn(String.format("Failed to start ZooKeeper server, reason : %s", e));
            cnxnFactory.shutdown();
            throw e;
        }

        // Register stats provider
        SimpleServer server = new SimpleServer(zkServer, cnxnFactory);

        return server;
    }
}

From source file:io.fabric8.zookeeper.bootstrap.ZooKeeperServerFactory.java

License:Apache License

public ZooKeeperServerFactory(QuorumPeerConfig peerConfig, String serverId)
        throws IOException, InterruptedException {
    this.peerConfig = peerConfig;
    this.serverId = serverId;

    LOGGER.info("Creating zookeeper server with: {}", peerConfig);

    if (!peerConfig.getServers().isEmpty()) {
        NIOServerCnxnFactory cnxnFactory = new NIOServerCnxnFactory();
        cnxnFactory.configure(peerConfig.getClientPortAddress(), peerConfig.getMaxClientCnxns());

        QuorumPeer quorumPeer = new QuorumPeer();
        quorumPeer.setClientPortAddress(peerConfig.getClientPortAddress());
        quorumPeer.setTxnFactory(//from   www .  j a  v  a 2 s. c o  m
                new FileTxnSnapLog(new File(peerConfig.getDataLogDir()), new File(peerConfig.getDataDir())));
        quorumPeer.setQuorumPeers(peerConfig.getServers());
        quorumPeer.setElectionType(peerConfig.getElectionAlg());
        quorumPeer.setMyid(peerConfig.getServerId());
        quorumPeer.setTickTime(peerConfig.getTickTime());
        quorumPeer.setMinSessionTimeout(peerConfig.getMinSessionTimeout());
        quorumPeer.setMaxSessionTimeout(peerConfig.getMaxSessionTimeout());
        quorumPeer.setInitLimit(peerConfig.getInitLimit());
        quorumPeer.setSyncLimit(peerConfig.getSyncLimit());
        quorumPeer.setQuorumVerifier(peerConfig.getQuorumVerifier());
        quorumPeer.setCnxnFactory(cnxnFactory);
        quorumPeer.setZKDatabase(new ZKDatabase(quorumPeer.getTxnFactory()));
        quorumPeer.setLearnerType(peerConfig.getPeerType());

        try {
            LOGGER.debug("Starting quorum peer \"%s\" on address %s", quorumPeer.getMyid(),
                    peerConfig.getClientPortAddress());
            quorumPeer.start();
            LOGGER.debug("Started quorum peer \"%s\"", quorumPeer.getMyid());
        } catch (Exception e) {
            LOGGER.warn(String.format("Failed to start quorum peer \"%s\", reason : %s ", quorumPeer.getMyid(),
                    e.getMessage()));
            quorumPeer.shutdown();
            throw e;
        }

        updateZooKeeperURL(cnxnFactory.getLocalAddress(), cnxnFactory.getLocalPort());

        // Register stats provider
        this.clusteredServer = new ClusteredServer(quorumPeer);
        /*
                    registration = context.registerService(QuorumStats.Provider.class, server, null);
                
        */
    } else {
        ServerConfig serverConfig = getServerConfig(peerConfig);

        ZooKeeperServer zkServer = new ZooKeeperServer();
        FileTxnSnapLog ftxn = new FileTxnSnapLog(new File(serverConfig.getDataLogDir()),
                new File(serverConfig.getDataDir()));
        zkServer.setTxnLogFactory(ftxn);
        zkServer.setTickTime(serverConfig.getTickTime());
        zkServer.setMinSessionTimeout(serverConfig.getMinSessionTimeout());
        zkServer.setMaxSessionTimeout(serverConfig.getMaxSessionTimeout());
        NIOServerCnxnFactory cnxnFactory = new NIOServerCnxnFactory() {
            protected void configureSaslLogin() throws IOException {
            }
        };
        InetSocketAddress clientPortAddress = serverConfig.getClientPortAddress();
        cnxnFactory.configure(clientPortAddress, serverConfig.getMaxClientCnxns());
        updateZooKeeperURL(cnxnFactory.getLocalAddress(), cnxnFactory.getLocalPort());

        try {
            LOGGER.debug("Starting ZooKeeper server on address %s", peerConfig.getClientPortAddress());
            cnxnFactory.startup(zkServer);
            LOGGER.debug("Started ZooKeeper server");
        } catch (Exception e) {
            LOGGER.warn(String.format("Failed to start ZooKeeper server, reason : %s", e));
            cnxnFactory.shutdown();
            throw e;
        }

        // Register stats provider
        this.simplerServer = new SimpleServer(zkServer, cnxnFactory);
        /*
                    registration = context.registerService(ServerStats.Provider.class, server, null);
        */
    }
}

From source file:org.apache.aries.rsa.discovery.zookeeper.server.ZookeeperStarterTest.java

License:Apache License

public void testUpdateConfig() throws Exception {
    final File tempDir = new File("target");
    IMocksControl control = EasyMock.createControl();
    BundleContext bc = control.createMock(BundleContext.class);
    expect(bc.getDataFile("")).andReturn(tempDir);
    final MyZooKeeperServerMain mockServer = control.createMock(MyZooKeeperServerMain.class);
    control.replay();/*from w  w  w  .j  a v a2  s.c  o m*/

    ZookeeperStarter starter = new ZookeeperStarter(bc) {
        @Override
        protected void startFromConfig(QuorumPeerConfig config) {
            assertEquals(1234, config.getClientPortAddress().getPort());
            assertTrue(config.getDataDir().contains(tempDir + File.separator + "zkdata"));
            assertEquals(2000, config.getTickTime());
            assertEquals(10, config.getInitLimit());
            assertEquals(5, config.getSyncLimit());
            this.main = mockServer;
        }
    };
    Dictionary<String, Object> props = new Hashtable<String, Object>();
    props.put("clientPort", "1234");
    starter.updated(props);
    assertNotNull(starter.main);

    control.verify();
}

From source file:org.apache.hadoop.hbase.zookeeper.HQuorumPeerTest.java

License:Apache License

/** @throws Exception */
public void testConfigInjection() throws Exception {
    String s = "tickTime=2000\n" + "initLimit=10\n" + "syncLimit=5\n" + "dataDir=${hbase.tmp.dir}/zookeeper\n"
            + "clientPort=2181\n" + "server.0=${hbase.master.hostname}:2888:3888\n";

    InputStream is = new ByteArrayInputStream(s.getBytes());
    Properties properties = HQuorumPeer.parseConfig(is);

    String userName = System.getProperty("user.name");
    String dataDir = "/tmp/hbase-" + userName + "/zookeeper";

    assertEquals(Integer.valueOf(2000), Integer.valueOf(properties.getProperty("tickTime")));
    assertEquals(Integer.valueOf(10), Integer.valueOf(properties.getProperty("initLimit")));
    assertEquals(Integer.valueOf(5), Integer.valueOf(properties.getProperty("syncLimit")));
    assertEquals(dataDir, properties.get("dataDir"));
    assertEquals(Integer.valueOf(2181), Integer.valueOf(properties.getProperty("clientPort")));
    assertEquals("localhost:2888:3888", properties.get("server.0"));

    QuorumPeerConfig.parseProperties(properties);

    int tickTime = QuorumPeerConfig.getTickTime();
    assertEquals(2000, tickTime);/*from  w  ww  . j av  a2s . c o  m*/
    int initLimit = QuorumPeerConfig.getInitLimit();
    assertEquals(10, initLimit);
    int syncLimit = QuorumPeerConfig.getSyncLimit();
    assertEquals(5, syncLimit);
    assertEquals(dataDir, ServerConfig.getDataDir());
    assertEquals(2181, ServerConfig.getClientPort());
    Map<Long, QuorumServer> servers = QuorumPeerConfig.getServers();
    assertEquals(1, servers.size());
    assertTrue(servers.containsKey(Long.valueOf(0)));
    QuorumServer server = servers.get(Long.valueOf(0));
    assertEquals("localhost", server.addr.getHostName());

    // Override with system property.
    System.setProperty("hbase.master.hostname", "foo.bar");
    is = new ByteArrayInputStream(s.getBytes());
    properties = HQuorumPeer.parseConfig(is);
    assertEquals("foo.bar:2888:3888", properties.get("server.0"));

    QuorumPeerConfig.parseProperties(properties);

    servers = QuorumPeerConfig.getServers();
    server = servers.get(Long.valueOf(0));
    assertEquals("foo.bar", server.addr.getHostName());

    // Special case for property 'hbase.master.hostname' being 'local'
    System.setProperty("hbase.master.hostname", "local");
    is = new ByteArrayInputStream(s.getBytes());
    properties = HQuorumPeer.parseConfig(is);
    assertEquals("localhost:2888:3888", properties.get("server.0"));

    QuorumPeerConfig.parseProperties(properties);

    servers = QuorumPeerConfig.getServers();
    server = servers.get(Long.valueOf(0));
    assertEquals("localhost", server.addr.getHostName());
}