private void startDistributed() throws IOException { logger.info("Starting Embedded ZooKeeper Peer"); try { transactionLog = new FileTxnSnapLog(new File(quorumPeerConfig.getDataLogDir()), new File(quorumPeerConfig.getDataDir())); connectionFactory = ServerCnxnFactory.createFactory(); connectionFactory.configure(quorumPeerConfig.getClientPortAddress(), quorumPeerConfig.getMaxClientCnxns()); quorumPeer = new QuorumPeer(); quorumPeer.setClientPortAddress(quorumPeerConfig.getClientPortAddress()); quorumPeer.setTxnFactory(new FileTxnSnapLog(new File(quorumPeerConfig.getDataLogDir()), new File(quorumPeerConfig.getDataDir()))); 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(connectionFactory); quorumPeer.setZKDatabase(new ZKDatabase(quorumPeer.getTxnFactory())); quorumPeer.setLearnerType(quorumPeerConfig.getPeerType()); quorumPeer.setSyncEnabled(quorumPeerConfig.getSyncEnabled()); quorumPeer.setQuorumListenOnAllIPs(quorumPeerConfig.getQuorumListenOnAllIPs()); quorumPeer.start(); } catch (final IOException ioe) { throw new IOException("Failed to start embedded ZooKeeper Peer", ioe); } catch (final Exception e) { throw new RuntimeException("Failed to start embedded ZooKeeper Peer", e); } }
quorumPeer.setQuorumPeers(config.getServers()); quorumPeer.setTxnFactory(new FileTxnSnapLog( new File(config.getDataLogDir()),
public ZookeeperQueryLock(String zookeeperConfig, long clientCleanupInterval, String queryId) throws ConfigException { this.queryId = queryId; this.clientCleanupInterval = clientCleanupInterval; URI zookeeperConfigFile = null; try { zookeeperConfigFile = new Path(zookeeperConfig).toUri(); if (new File(zookeeperConfigFile).exists()) { QuorumPeerConfig zooConfig = new QuorumPeerConfig(); zooConfig.parse(zookeeperConfigFile.getPath()); StringBuilder builder = new StringBuilder(); for (QuorumServer server : zooConfig.getServers().values()) { if (builder.length() > 0) { builder.append(','); } builder.append(server.addr.getHostName()).append(':').append(zooConfig.getClientPortAddress().getPort()); } if (builder.length() == 0) { builder.append(zooConfig.getClientPortAddress().getHostName()).append(':').append(zooConfig.getClientPortAddress().getPort()); } zookeeperConfig = builder.toString(); } } catch (IllegalArgumentException iae) { // ok, try as is } this.zookeeperConfig = zookeeperConfig; }
public static ZookeeperServer getZookeeperServer(Properties props) throws Exception { QuorumPeerConfig config = new QuorumPeerConfig(); config.parseProperties(props); if (config.getServers().size() > 0) { return new MyQuorumPeerMain(config); } else { return new MyZooKeeperServerMain(config); } }
conf.getServers().size());
if (!peerConfig.getServers().isEmpty()) { Subject peerSubject = new Subject(); Map<String, String> peerCredentials = new HashMap<>(); try { passwords = digestConfiguration(props); if (passwords.length - 1 != peerConfig.getServers().size()) { throw new GeneralSecurityException(String.format("Problem deriving quorum peer credentials. Expected %d, derived %d", peerConfig.getServers().size(), passwords.length - 1)); peerConfig.getServers(), new File(peerConfig.getDataDir()), new File(peerConfig.getDataLogDir()),
if (!peerConfig.getServers().isEmpty()) { NIOServerCnxnFactory cnxnFactory = new NIOServerCnxnFactory(); cnxnFactory.configure(peerConfig.getClientPortAddress(), peerConfig.getMaxClientCnxns()); 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());
new File(config.getDataLogDir()), new File(config.getDataDir()))); quorumPeer.setQuorumPeers(config.getServers()); quorumPeer.setElectionType(config.getElectionAlg()); quorumPeer.setMyid(config.getServerId());