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

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

Introduction

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

Prototype

QuorumPeerConfig

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  ww  w  .java 2 s. c  o  m*/

    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:blazingcache.TestingZookeeperServerEmbedded.java

License:Apache License

public TestingZookeeperServerEmbedded(int clientPort, File baseDir) throws Exception {
    this.clientPort = clientPort;
    Properties p = new Properties();
    String host = "localhost";
    String dataDir = "data";
    File dir = new File(baseDir, dataDir);
    p.setProperty("syncEnabled", "false");
    p.setProperty("dataDir", dir.getAbsolutePath());
    p.setProperty("clientPort", clientPort + "");
    p.setProperty("authProvider.1", "org.apache.zookeeper.server.auth.SASLAuthenticationProvider");
    p.setProperty("kerberos.removeHostFromPrincipal", "true");
    p.setProperty("kerberos.removeRealmFromPrincipal", "true");

    config = new QuorumPeerConfig();

    config.parseProperties(p);/*from w ww  .  ja va2  s . c o m*/

}

From source file:com.alibaba.wasp.zookeeper.FQuorumPeer.java

License:Apache License

/**
 * Parse ZooKeeper configuration from Wasp XML config and run a QuorumPeer.
 * @param args String[] of command line arguments. Not used.
 *///www .  j  a v a 2 s  .c o m
public static void main(String[] args) {
    Configuration conf = WaspConfiguration.create();
    try {
        Properties zkProperties = ZKConfig.makeZKProps(conf);
        writeMyID(conf, zkProperties);
        QuorumPeerConfig zkConfig = new QuorumPeerConfig();
        zkConfig.parseProperties(zkProperties);
        runZKServer(zkConfig);
    } catch (Exception e) {
        e.printStackTrace();
        System.exit(-1);
    }
}

From source file:com.anhth12.zk.util.LocalZKServer.java

/**
 * Starts Zookeeper./*from w ww .  j  a  va  2  s.c  om*/
 *
 * @throws IOException if an error occurs during initialization
 * @throws InterruptedException if an error occurs during initialization
 */
public synchronized void start() throws IOException, InterruptedException {
    log.info("Starting Zookeeper on port {}", port);

    dataDir = Files.createTempDirectory(LocalZKServer.class.getSimpleName());
    dataDir.toFile().deleteOnExit();

    Properties properties = new Properties();
    properties.setProperty("dataDir", dataDir.toAbsolutePath().toString());
    properties.setProperty("clientPort", Integer.toString(port));
    log.info("ZK config: {}", properties);

    QuorumPeerConfig quorumConfig = new QuorumPeerConfig();
    try {
        quorumConfig.parseProperties(properties);
    } catch (QuorumPeerConfig.ConfigException e) {
        throw new IllegalArgumentException(e);
    }

    purgeManager = new DatadirCleanupManager(quorumConfig.getDataDir(), quorumConfig.getDataLogDir(),
            quorumConfig.getSnapRetainCount(), quorumConfig.getPurgeInterval());
    purgeManager.start();

    ServerConfig serverConfig = new ServerConfig();
    serverConfig.readFrom(quorumConfig);

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

    // These two ServerConfig methods returned String in 3.4.x and File in 3.5.x
    transactionLog = new FileTxnSnapLog(new File(serverConfig.getDataLogDir().toString()),
            new File(serverConfig.getDataDir().toString()));
    zkServer.setTxnLogFactory(transactionLog);

    connectionFactory = ServerCnxnFactory.createFactory();
    connectionFactory.configure(serverConfig.getClientPortAddress(), serverConfig.getMaxClientCnxns());
    connectionFactory.startup(zkServer);
}

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

License:Open Source License

/**
 * Copied from QuorumPeerMain because whomever wrote that crap made things
 * protected. Because freedom./* w  w w.  j  a va2s .com*/
 */
protected void initializeAndRun(String[] args) throws ConfigException, IOException {
    QuorumPeerConfig config = new QuorumPeerConfig();
    if (args.length == 1) {
        config.parse(args[0]);
    }

    // Start and schedule the the purge task
    DatadirCleanupManager purgeMgr = new DatadirCleanupManager(config.getDataDir(), config.getDataLogDir(),
            config.getSnapRetainCount(), config.getPurgeInterval());
    purgeMgr.start();

    if (args.length == 1 && config.getServers().size() > 0) {
        runFromConfig(config);
    } else {
        LOG.warning("Running in standalone mode");
        // there is only server in the quorum -- run as standalone
        ZooKeeperServerMain.main(args);
    }
}

From source file:com.cloudera.oryx.kafka.util.LocalZKServer.java

License:Open Source License

/**
 * Starts Zookeeper.//  w  ww.jav a  2  s  .  c  om
 *
 * @throws IOException if an error occurs during initialization
 * @throws InterruptedException if an error occurs during initialization
 */
public synchronized void start() throws IOException, InterruptedException {
    log.info("Starting Zookeeper on port {}", port);

    dataDir = Files.createTempDirectory(LocalZKServer.class.getSimpleName());
    dataDir.toFile().deleteOnExit();

    QuorumPeerConfig quorumConfig = new QuorumPeerConfig();
    try {
        quorumConfig.parseProperties(
                ConfigUtils.keyValueToProperties("dataDir", dataDir.toAbsolutePath(), "clientPort", port));
    } catch (QuorumPeerConfig.ConfigException e) {
        throw new IllegalArgumentException(e);
    }

    purgeManager = new DatadirCleanupManager(quorumConfig.getDataDir(), quorumConfig.getDataLogDir(),
            quorumConfig.getSnapRetainCount(), quorumConfig.getPurgeInterval());
    purgeManager.start();

    ServerConfig serverConfig = new ServerConfig();
    serverConfig.readFrom(quorumConfig);

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

    // These two ServerConfig methods returned String in 3.4.x and File in 3.5.x
    transactionLog = new FileTxnSnapLog(new File(serverConfig.getDataLogDir().toString()),
            new File(serverConfig.getDataDir().toString()));
    zkServer.setTxnLogFactory(transactionLog);

    connectionFactory = ServerCnxnFactory.createFactory();
    connectionFactory.configure(serverConfig.getClientPortAddress(), serverConfig.getMaxClientCnxns());
    connectionFactory.startup(zkServer);
}

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

License:Apache License

protected void initializeAndRun(String[] args) throws ConfigException, IOException {
    QuorumPeerConfig config = new QuorumPeerConfig();
    if (args.length == 1) {
        config.parse(args[0]);/* ww  w.  jav  a  2  s .  c o  m*/
    }

    // Start and schedule the the purge task
    DatadirCleanupManager purgeMgr = new DatadirCleanupManager(config.getDataDir(), config.getDataLogDir(),
            config.getSnapRetainCount(), config.getPurgeInterval());
    purgeMgr.start();

    if (args.length == 1 && config.getServers().size() > 0) {
        runFromConfig(config);
    } else {
        LOG.warn("Either no config or no quorum defined in config, running " + " in standalone mode");
        // there is only server in the quorum -- run as standalone
        ZooKeeperServerMain.main(args);
    }
}

From source file:com.googlecode.jmxtrans.model.output.kafka.EmbeddedZookeeper.java

License:Open Source License

@Override
public void before() throws Exception {
    LOGGER.info("Starting Zookeeper");
    Properties properties = getResourceAsProperties("zookeeper.properties");
    dataDir = temporaryFolder.newFolder("zookeeper");
    properties.setProperty("dataDir", dataDir.getAbsolutePath());
    QuorumPeerConfig quorumConfiguration = new QuorumPeerConfig();
    try {/* ww w. j  a v  a  2 s .c o  m*/
        quorumConfiguration.parseProperties(properties);
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
    final ServerConfig configuration = new ServerConfig();
    configuration.readFrom(quorumConfiguration);
    // Start Zookeeper in separate thread
    executor.execute(new Runnable() {
        @Override
        public void run() {
            runServer(configuration);
        }
    });
    // Wait for Zookeeper to be started
    await().atMost(5, TimeUnit.SECONDS).until(new Callable<Boolean>() {
        @Override
        public Boolean call() throws Exception {
            return getServerCnxnFactory() != null;
        }
    });
}

From source file:com.greplin.zookeeper.EmbeddedZookeeperServer.java

License:Apache License

public EmbeddedZookeeperServer(Integer clientPort, File dataDir, Long tickTime)
        throws QuorumPeerConfig.ConfigException, IOException {
    Preconditions.checkNotNull(dataDir);
    Preconditions.checkNotNull(clientPort);
    Preconditions.checkNotNull(tickTime);

    Preconditions.checkArgument(clientPort > 0);
    Preconditions.checkArgument(clientPort < 65536);
    Preconditions.checkArgument(tickTime > 0);

    this.shutdown = new AtomicBoolean(false);
    this.clientPort = clientPort;
    this.dataDir = dataDir;
    this.tickTime = tickTime;

    Properties properties = new Properties();
    properties.setProperty("tickTime", tickTime.toString());
    properties.setProperty("clientPort", clientPort.toString());
    properties.setProperty("dataDir", dataDir.getAbsolutePath());

    QuorumPeerConfig qpc = new QuorumPeerConfig();
    try {/*  ww  w  . j  av  a  2  s .c o m*/
        qpc.parseProperties(properties);
    } catch (IOException e) {
        throw new RuntimeException(
                "This is impossible - no I/O to configure a quorumpeer from a properties object", e);
    }

    // don't ask me why ...
    ServerConfig config = new ServerConfig();
    config.readFrom(qpc);

    log.info("Starting embedded zookeeper server on port " + clientPort);
    this.zooKeeperServer = new ZooKeeperServer();
    this.zooKeeperServer.setTxnLogFactory(
            new FileTxnSnapLog(new File(config.getDataLogDir()), new File(config.getDataDir())));
    this.zooKeeperServer.setTickTime(config.getTickTime());
    this.zooKeeperServer.setMinSessionTimeout(config.getMinSessionTimeout());
    this.zooKeeperServer.setMaxSessionTimeout(config.getMaxSessionTimeout());

    this.connectionFactory = new NIOServerCnxn.Factory(config.getClientPortAddress(),
            config.getMaxClientCnxns());
    try {
        connectionFactory.startup(zooKeeperServer);
    } catch (InterruptedException e) {
        throw new RuntimeException("Server Interrupted", e);
    }

    serverThread = new Thread(new Runnable() {
        @Override
        public void run() {
            try {
                connectionFactory.join();
            } catch (InterruptedException e) {
                log.error("Zookeeper Connection Factory Interrupted", e);
            }
        }
    });

    serverThread.start();
}

From source file:com.griddynamics.jagger.ZooKeeperServer.java

License:Open Source License

@Override
public void run() {
    log.info("Starting ZooKeeper...");
    QuorumPeerConfig quorumConfiguration = new QuorumPeerConfig();
    try {//  w  w w. j  av a  2s.  co  m
        quorumConfiguration.parseProperties(startupProperties);
    } catch (Exception e) {
        throw new TechnicalException(e);
    }

    zooKeeperServer = new ZooKeeperServerWrapper();
    final ServerConfig configuration = new ServerConfig();
    configuration.readFrom(quorumConfiguration);

    new Thread() {
        public void run() {
            try {
                zooKeeperServer.runFromConfig(configuration);
            } catch (IOException e) {
                log.error("ZooKeeper Failed", e);
            }
        }
    }.start();
}