List of usage examples for org.apache.zookeeper.server.quorum QuorumPeerMain QuorumPeerMain
QuorumPeerMain
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);/*from w w w . j av a2 s . c o m*/ } else { ZooKeeperServerMain zk = new ZooKeeperServerMain(); ServerConfig serverConfig = new ServerConfig(); serverConfig.readFrom(zkConfig); zk.runFromConfig(serverConfig); } }
From source file:com.heliosapm.streams.kafka.KafkaTestServer.java
License:Apache License
/** * Starts the test server// w w w . j a v a 2 s . c o m * @throws Exception thrown on any error */ public void start() throws Exception { if (running.compareAndSet(false, true)) { try { final boolean launchZooKeeper = ConfigurationHelper.getBooleanSystemThenEnvProperty(CONFIG_ZOOKEEP, DEFAULT_ZOOKEEP); final File zkDataDir = new File( ConfigurationHelper.getSystemThenEnvProperty(CONFIG_ZK_DATA_DIR, DEFAULT_ZK_DATA_DIR)); final File zkLogDir = new File( ConfigurationHelper.getSystemThenEnvProperty(CONFIG_ZK_LOG_DIR, DEFAULT_ZK_LOG_DIR)); final File kLogDir = new File( ConfigurationHelper.getSystemThenEnvProperty(CONFIG_LOG_DIR, DEFAULT_LOG_DIR)); delTree(zkDataDir); delTree(zkLogDir); delTree(kLogDir); zkConfigProperties.clear(); if (launchZooKeeper) { zkConfigProperties.setProperty("tickTime", "2000"); zkConfigProperties.setProperty("syncEnabled", "false"); zkConfigProperties.setProperty("dataDir", ConfigurationHelper.getSystemThenEnvProperty(CONFIG_ZK_DATA_DIR, DEFAULT_ZK_DATA_DIR)); zkConfigProperties.setProperty("dataLogDir", ConfigurationHelper.getSystemThenEnvProperty(CONFIG_ZK_LOG_DIR, DEFAULT_ZK_LOG_DIR)); } zooKeepPort = zooKeepReservedPort.getPort(); final String clientPortAddress = ConfigurationHelper.getSystemThenEnvProperty(CONFIG_ZK_IFACE, DEFAULT_ZK_IFACE); zookeepConnect = clientPortAddress + ":" + zooKeepPort; if (launchZooKeeper) { zkConfigProperties.setProperty("clientPort", "" + zooKeepPort); zkConfigProperties.setProperty("clientPortAddress", clientPortAddress); zkConfigProperties.setProperty("maxClientCnxns", "" + ConfigurationHelper .getIntSystemThenEnvProperty(CONFIG_ZK_MAXCONNS, DEFAULT_ZK_MAXCONNS)); zkConfigProperties.setProperty("minSessionTimeout", "" + ConfigurationHelper.getIntSystemThenEnvProperty(CONFIG_ZK_MINTO, DEFAULT_ZK_MINTO)); zkConfigProperties.setProperty("maxSessionTimeout", "" + ConfigurationHelper.getIntSystemThenEnvProperty(CONFIG_ZK_MAXTO, DEFAULT_ZK_MAXTO)); } if (launchZooKeeper) { log.info(">>>>> Starting Embedded ZooKeeper..."); log.info("Embedded Kafka ZooKeeper Config: {}", zkConfigProperties); zkConfig = new QuorumPeerConfig(); // zkConfig.parse(System.getenv("ZOOKEEPER_HOME") + File.separator + "conf" + File.separator + "zoo.cfg"); zkConfig.parseProperties(zkConfigProperties); final Thread zkRunThread; final Throwable[] t = new Throwable[1]; if (zkConfig.getServers().size() > 1) { standalone.set(false); zkServer = new QuorumPeerMain(); zkRunThread = new Thread("ZooKeeperRunThread") { @Override public void run() { try { zkServer.runFromConfig(zkConfig); } catch (IOException ex) { log.error("Failed to start ZooKeeper", ex); t[0] = ex; } } }; } else { standalone.set(true); sc = new ServerConfig(); sc.readFrom(zkConfig); zkSoServer = new ZooKeeperServerMain(); zkRunThread = new Thread("ZooKeeperStandaloneRunThread") { @Override public void run() { try { zkSoServer.runFromConfig(sc); } catch (IOException ex) { log.error("Failed to start standalone ZooKeeper", ex); t[0] = ex; } } }; } zkRunThread.setDaemon(true); zkRunThread.start(); log.info("<<<<< Embedded ZooKeeper started."); } // ZooKeeperServer zkServer = new ZooKeeperServer(new File(ConfigurationHelper.getSystemThenEnvProperty(CONFIG_ZK_DATA_DIR, DEFAULT_ZK_DATA_DIR)), new File(ConfigurationHelper.getSystemThenEnvProperty(CONFIG_ZK_LOG_DIR, DEFAULT_ZK_LOG_DIR)), 200); configProperties.clear(); kafkaPort = kafkaReservedPort.getPort(); configProperties.setProperty("delete.topic.enable", "true"); configProperties.setProperty("log.dir", ConfigurationHelper.getSystemThenEnvProperty(CONFIG_LOG_DIR, DEFAULT_LOG_DIR)); configProperties.setProperty("log.dirs", ConfigurationHelper.getSystemThenEnvProperty(CONFIG_LOG_DIR, DEFAULT_LOG_DIR)); configProperties.setProperty("port", "" + kafkaPort); // configProperties.setProperty("enable.zookeeper", "" + ConfigurationHelper.getBooleanSystemThenEnvProperty(CONFIG_ZOOKEEP, DEFAULT_ZOOKEEP)); configProperties.setProperty("zookeeper.connect", zookeepConnect); configProperties.setProperty("broker.id", "0");//"" + ConfigurationHelper.getIntSystemThenEnvProperty(CONFIG_BROKERID, DEFAULT_BROKERID)); configProperties.setProperty("socket.request.max.bytes", "104857600"); configProperties.setProperty("num.io.threads", "8"); configProperties.setProperty("socket.send.buffer.bytes", "102400"); configProperties.setProperty("log.retention.check.interval.ms", "300000"); configProperties.setProperty("log.retention.hours", "168"); configProperties.setProperty("zookeeper.connection.timeout.ms", "20000"); configProperties.setProperty("num.recovery.threads.per.data.dir", "1"); configProperties.setProperty("socket.receive.buffer.bytes", "102400"); configProperties.setProperty("num.network.threads", "3"); configProperties.setProperty("num.partitions", "1"); configProperties.setProperty("log.segment.bytes", "1073741824"); configProperties.setProperty("key.converter", "org.apache.kafka.connect.json.JsonConverter"); configProperties.setProperty("internal.key.converter.schemas.enable", "false"); configProperties.setProperty("value.converter", "org.apache.kafka.connect.json.JsonConverter"); configProperties.setProperty("offset.storage.file.filename", "/tmp/connect.offsets"); configProperties.setProperty("key.converter.schemas.enable", "true"); configProperties.setProperty("offset.flush.interval.ms", "10000"); configProperties.setProperty("internal.key.converter", "org.apache.kafka.connect.json.JsonConverter"); configProperties.setProperty("internal.value.converter.schemas.enable", "false"); configProperties.setProperty("value.converter.schemas.enable", "true"); configProperties.setProperty("internal.value.converter", "org.apache.kafka.connect.json.JsonConverter"); log.info(">>>>> Starting Embedded Kafka..."); log.info("Embedded Kafka Broker Config: {}", configProperties); // kafkaServer = new KafkaEmbedded(configProperties); // //kafkaServer.startup(); // servers.add(kafkaServer.getKafka()); // // // BrokerState brokerState = kafkaServer.brokerState(); // log.info("Base Kafka Server Up. Creating Offsets topic..."); // final Properties offsetTopicProps = new Properties(); // offsetTopicProps.setProperty("compression.type", "uncompressed"); // offsetTopicProps.setProperty("cleanup.policy", "compact"); // offsetTopicProps.setProperty("segment.bytes", "1048576"); // createTopic("__consumer_offsets", 1, 1, offsetTopicProps); // TestUtils.waitUntilLeaderIsKnown(scala.collection.JavaConversions.asScalaBuffer(servers), "__consumer_offsets", 0, 5000); // TestUtils.waitUntilMetadataIsPropagated(scala.collection.JavaConversions.asScalaBuffer(servers), "__consumer_offsets", 0, 5000); // log.info("<<<<< Embedded Kafka started."); } catch (Exception ex) { running.set(false); configProperties.clear(); // try { kafkaServer.stop(); } catch (Exception x) {/* No Op */} kafkaServer = null; log.error("Failed to start embedded kafka server", ex); throw ex; } } else { log.warn("Embedded Kafka Broker already running"); } }
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 *///w w w . j a v a 2s .co m 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. ja v a 2s . co 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;//w w w . j a v a 2s.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); } }
From source file:org.lab.mars.onem2m.server.quorum.M2mQuorumPeerMain.java
License:Apache License
@SuppressWarnings("static-access") public void runFromConfig(QuorumPeerConfig config, String[] args) throws IOException { QuorumPeerMain quorumPeerMain = new QuorumPeerMain(); // quorumPeerMain.main(args); try {// w ww . j a va 2 s . co m ManagedUtil.registerLog4jMBeans(); } catch (JMException e) { LOG.warn("Unable to register log4j JMX control", e); } LOG.info("Starting quorum peer"); QuorumPeerOperator.config = config; try { NetworkPool networkPool = new NetworkPool(); networkPool.setAllServers(config.allServerStrings); networkPool.setMySelfIpAndPort(config.myIp + ":" + config.clientPort); networkPool.setReplicationFactor(config.replication_factor); networkPool.setAllServersToSid(config.allServers); networkPool.setAllQuorumServers(config.servers); NettyServerCnxnFactory cnxnFactory = new NettyServerCnxnFactory(); cnxnFactory.setNetworkPool(networkPool); cnxnFactory.configure(config.getClientPortAddress().getPort(), 5); cnxnFactory.setMyIp(config.getMyIp()); cnxnFactory.setAllServers(config.allServers); cnxnFactory.setReplicationFactory(config.getReplication_factor());// ?? cnxnFactory.setTemporyAdd(config.isTemporyAdd()); List<QuorumPeer> quorumPeers = new ArrayList<QuorumPeer>(); long minValue = config.isTemporyAdd() ? 1 : config.replication_factor; for (long i = 0; i < minValue; i++) { QuorumPeer quorumPeer = new QuorumPeer(); M2mQuorumServer m2mQuorumServer = config.getM2mQuorumServers(); HashMap<Long, QuorumServer> servers = m2mQuorumServer.getPositionToServers().get(i); if (i == minValue - 1) { quorumPeer = new QuorumPeer(true); } else { quorumPeer = new QuorumPeer(); } quorumPeer.setHandleIp(m2mQuorumServer.getServers().get(Integer.valueOf((i) + ""))); quorumPeer.setQuorumVerifier(new QuorumMaj(servers.size())); quorumPeer.setQuorumPeers(servers);// ?? quorumPeer.setElectionType(config.getElectionAlg()); quorumPeer.setCnxnFactory(cnxnFactory); quorumPeer.setZKDatabase(new ZKDatabase(config.getNetworkPool(), new M2MDataBaseImpl(config.m2mDataBase.isClean(), config.m2mDataBase.getKeyspace(), config.m2mDataBase.getTable(), config.m2mDataBase.getNode()), quorumPeer.getHandleIp())); quorumPeer.setClientPortAddress(config.getClientPortAddress()); quorumPeer.setTxnFactory( new FileTxnSnapLog(new File(config.getDataLogDir()), new File(config.getDataDir()))); 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.setSyncEnabled(config.getSyncEnabled()); RegisterIntoZooKeeper registerIntoZooKeeper = new RegisterIntoZooKeeper(); registerIntoZooKeeper.setServer(config.getZooKeeperServer()); ZooKeeper_Monitor zooKeeper_Monitor = new ZooKeeper_Monitor(); zooKeeper_Monitor.setServer(config.getZooKeeperServer()); zooKeeper_Monitor.setNetworkPool(networkPool); quorumPeer.setZooKeeper_Monitor(zooKeeper_Monitor); quorumPeer.setRegisterIntoZooKeeper(registerIntoZooKeeper); quorumPeer.setMyIp(config.getMyIp()); quorumPeer.start(); QuorumPeerStatistics.quorums.put(m2mQuorumServer.getServers().get(Integer.valueOf((i) + "")), quorumPeer); quorumPeers.add(quorumPeer); } WebTcpServer webTcpServer = new WebTcpServer(cnxnFactory); webTcpServer.bind(config.getMyIp(), config.sidAndWebPort.get(config.serverId)); for (QuorumPeer quorumPeer : quorumPeers) { quorumPeer.join(); } webTcpServer.close(); } catch (InterruptedException e) { // warn, but generally this is ok LOG.warn("Quorum Peer interrupted", e); } }