List of usage examples for org.apache.zookeeper.server.quorum QuorumPeerMain runFromConfig
public void runFromConfig(QuorumPeerConfig config) throws IOException, AdminServerException
From source file:com.alibaba.wasp.zookeeper.FQuorumPeer.java
License:Apache License
private static void runZKServer(QuorumPeerConfig zkConfig) throws UnknownHostException, IOException { if (zkConfig.isDistributed()) { QuorumPeerMain qp = new QuorumPeerMain(); qp.runFromConfig(zkConfig); } else {/*from www. ja v a2 s. c o m*/ ZooKeeperServerMain zk = new ZooKeeperServerMain(); ServerConfig serverConfig = new ServerConfig(); serverConfig.readFrom(zkConfig); zk.runFromConfig(serverConfig); } }
From source file:org.apache.flink.runtime.zookeeper.FlinkZooKeeperQuorumPeer.java
License:Apache License
/** * Runs a ZooKeeper {@link QuorumPeer} if further peers are configured or a single * {@link ZooKeeperServer} if no further peers are configured. * * @param zkConfigFile ZooKeeper config file 'zoo.cfg' * @param peerId ID for the 'myid' file *//*from ww w .ja va 2s .com*/ public static void runFlinkZkQuorumPeer(String zkConfigFile, int peerId) throws Exception { Properties zkProps = new Properties(); try (InputStream inStream = new FileInputStream(new File(zkConfigFile))) { zkProps.load(inStream); } LOG.info("Configuration: " + zkProps); // Set defaults for required properties setRequiredProperties(zkProps); // Write peer id to myid file writeMyIdToDataDir(zkProps, peerId); // The myid file needs to be written before creating the instance. Otherwise, this // will fail. QuorumPeerConfig conf = new QuorumPeerConfig(); conf.parseProperties(zkProps); if (conf.isDistributed()) { // Run quorum peer LOG.info("Running distributed ZooKeeper quorum peer (total peers: {}).", conf.getServers().size()); QuorumPeerMain qp = new QuorumPeerMain(); qp.runFromConfig(conf); } else { // Run standalone LOG.info("Running standalone ZooKeeper quorum peer."); ZooKeeperServerMain zk = new ZooKeeperServerMain(); ServerConfig sc = new ServerConfig(); sc.readFrom(conf); zk.runFromConfig(sc); } }
From source file:org.apache.sling.zookeeper.server.SlingZookeeperServer.java
License:Apache License
@Activate public void activate(ComponentContext ctx) throws Exception { zkConfig = new QuorumPeerConfig(); final Properties props = new Properties(); final Enumeration<?> e = ctx.getProperties().keys(); while (e.hasMoreElements()) { final String key = e.nextElement().toString(); if (key.startsWith(ZK_PROP_PREFIX)) { props.put(key.substring(ZK_PROP_PREFIX.length()), ctx.getProperties().get(key)); }//from w w w. j a v a2 s . c o m } // TODO hacking this for now... props.put("server.1", "localhost:2888:3888"); props.put("server.2", "zk1.example.com:2888:3888"); props.put("server.3", "zk2.example.com:2888:3888"); // TODO should be set based on sling.home final File dataDir = new File("/tmp/sling/ZKDATA"); props.put("dataDir", dataDir.getAbsolutePath()); // TODO myid should be set in a better way dataDir.mkdirs(); final File myid = new File(dataDir, "myid"); if (!myid.exists()) { final FileWriter w = new FileWriter(myid); w.write("1\n"); w.flush(); w.close(); } try { zkConfig.parseProperties(props); log.info("Zookeeper configuration: clientPort={}, dataDir={}, servers={}", new Object[] { zkConfig.getClientPortAddress(), zkConfig.getDataDir(), zkConfig.getServers() }); } catch (Exception cfge) { log.error("Exception while parsing ZooKeeper properties", cfge); throw cfge; } zkThread = new Thread() { @Override public void run() { log.info("ZooKeeper Server thread {} starts", getName()); try { if (zkConfig.getServers().size() == 0) { throw new Exception("No Zookeper servers configured"); } else if (zkConfig.getServers().size() > 1) { QuorumPeerMain zkServer = new QuorumPeerMain(); zkServer.runFromConfig(zkConfig); } else { ServerConfig sc = new ServerConfig(); sc.readFrom(zkConfig); ZooKeeperServerMain zkServer = new ZooKeeperServerMain(); zkServer.runFromConfig(sc); } } catch (Exception e) { log.error("Zookeeper server exception", e); } log.info("ZooKeeper Server thread {} ends", getName()); } }; log.info("Starting embedded Zookeeper server with {} servers on port {}", zkConfig.getServers().size(), zkConfig.getClientPortAddress().getPort()); zkThread.setDaemon(true); zkThread.start(); }
From source file:org.apache.solr.cloud.SolrZkServer.java
License:Apache License
public void start() { if (zkRun == null) return;//from w w w. j a v a 2 s .co m zkThread = new Thread() { @Override public void run() { try { if (zkProps.getServers().size() > 1) { QuorumPeerMain zkServer = new QuorumPeerMain(); zkServer.runFromConfig(zkProps); } else { ServerConfig sc = new ServerConfig(); sc.readFrom(zkProps); ZooKeeperServerMain zkServer = new ZooKeeperServerMain(); zkServer.runFromConfig(sc); } log.info("ZooKeeper Server exited."); } catch (Throwable e) { log.error("ZooKeeper Server ERROR", e); throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, e); } } }; if (zkProps.getServers().size() > 1) { log.info("STARTING EMBEDDED ENSEMBLE ZOOKEEPER SERVER at port " + zkProps.getClientPortAddress().getPort()); } else { log.info("STARTING EMBEDDED STANDALONE ZOOKEEPER SERVER at port " + zkProps.getClientPortAddress().getPort()); } zkThread.setDaemon(true); zkThread.start(); try { Thread.sleep(500); // pause for ZooKeeper to start } catch (Exception e) { log.error("STARTING ZOOKEEPER", e); } }