public EmbeddedZookeeper(int port) throws IOException { this.port = port; zkDataDir = Files.createTempDir(); zkServer = new ZooKeeperServer(); FileTxnSnapLog ftxn = new FileTxnSnapLog(zkDataDir, zkDataDir); zkServer.setTxnLogFactory(ftxn); cnxnFactory = NIOServerCnxnFactory.createFactory(new InetSocketAddress(port), 0); }
private void startStandalone() throws IOException { logger.info("Starting Embedded ZooKeeper Server"); final ServerConfig config = new ServerConfig(); config.readFrom(quorumPeerConfig); try { transactionLog = new FileTxnSnapLog(new File(config.getDataLogDir()), new File(config.getDataDir())); embeddedZkServer = new ZooKeeperServer(); embeddedZkServer.setTxnLogFactory(transactionLog); embeddedZkServer.setTickTime(config.getTickTime()); embeddedZkServer.setMinSessionTimeout(config.getMinSessionTimeout()); embeddedZkServer.setMaxSessionTimeout(config.getMaxSessionTimeout()); connectionFactory = ServerCnxnFactory.createFactory(); connectionFactory.configure(config.getClientPortAddress(), config.getMaxClientCnxns()); connectionFactory.startup(embeddedZkServer); } catch (InterruptedException e) { Thread.currentThread().interrupt(); logger.warn("Embedded ZooKeeper Server interrupted", e); } catch (final IOException ioe) { throw new IOException("Failed to start embedded ZooKeeper Server", ioe); } catch (final Exception e) { throw new RuntimeException("Failed to start embedded ZooKeeper Server", e); } }
config.dataDir)); txnLog.setServerStats(zkServer.serverStats()); zkServer.setTxnLogFactory(txnLog); zkServer.setTickTime(config.tickTime); zkServer.setMinSessionTimeout(config.minSessionTimeout);
zkServer.setTxnLogFactory(transactionLog);
@Test public void testTxnLogElapsedSyncTime() throws IOException { File tmpDir = ClientBase.createEmptyTestDir(); FileTxnSnapLog fileTxnSnapLog = new FileTxnSnapLog(new File(tmpDir, "data"), new File(tmpDir, "data_txnlog")); ZooKeeperServer zks = new ZooKeeperServer(); zks.setTxnLogFactory(fileTxnSnapLog); ZooKeeperServerBean serverBean = new ZooKeeperServerBean(zks); long elapsedTime = serverBean.getTxnLogElapsedSyncTime(); assertEquals(-1, elapsedTime); TxnHeader hdr = new TxnHeader(1, 1, 1, 1, ZooDefs.OpCode.setData); Record txn = new SetDataTxn("/foo", new byte[0], 1); Request req = new Request(0, 0, 0, hdr, txn, 0); try { zks.getTxnLogFactory().append(req); zks.getTxnLogFactory().commit(); elapsedTime = serverBean.getTxnLogElapsedSyncTime(); assertNotEquals(-1, elapsedTime); assertEquals(elapsedTime, serverBean.getTxnLogElapsedSyncTime()); } finally { fileTxnSnapLog.close(); } }
public EmbeddedZookeeper(int port, Path baseDir) throws Exception { this.port = port; zookeeperBaseDir = baseDir; zkServer = new ZooKeeperServer(); File dataDir = zookeeperBaseDir.resolve("log").toFile(); File snapDir = zookeeperBaseDir.resolve("data").toFile(); FileTxnSnapLog ftxn = new FileTxnSnapLog(dataDir, snapDir); zkServer.setTxnLogFactory(ftxn); zkServer.setTickTime(1000); connectionFactory = new NIOServerCnxnFactory() { @Override protected void configureSaslLogin() throws IOException { // do nothing } }; connectionFactory.configure(new InetSocketAddress("localhost", port), 0); }
public EmbeddedZookeeper(int port, Path baseDir) throws Exception { this.port = port; zookeeperBaseDir = baseDir; zkServer = new ZooKeeperServer(); File dataDir = zookeeperBaseDir.resolve("log").toFile(); File snapDir = zookeeperBaseDir.resolve("data").toFile(); FileTxnSnapLog ftxn = new FileTxnSnapLog(dataDir, snapDir); zkServer.setTxnLogFactory(ftxn); zkServer.setTickTime(1000); connectionFactory = new NIOServerCnxnFactory() { @Override protected void configureSaslLogin() throws IOException { // do nothing } }; connectionFactory.configure(new InetSocketAddress("localhost", port), 0); }
private void configure(ZooKeeperServer zooKeeperServer, ServerConfig config) throws IOException { zooKeeperServer.setTxnLogFactory( new FileTxnSnapLog(new File(config.getDataLogDir()), new File(config.getDataDir()))); zooKeeperServer.setTickTime(config.getTickTime()); zooKeeperServer.setMinSessionTimeout(config.getMinSessionTimeout()); zooKeeperServer.setMaxSessionTimeout(config.getMaxSessionTimeout()); }
@Override protected void startUp() throws Exception { ZooKeeperServer zkServer = new ZooKeeperServer(); FileTxnSnapLog ftxn = new FileTxnSnapLog(dataDir, dataDir); zkServer.setTxnLogFactory(ftxn); zkServer.setTickTime(tickTime); factory = ServerCnxnFactory.createFactory(); factory.configure(getAddress(port), -1); factory.startup(zkServer); LOG.info("In memory ZK started: " + getConnectionStr()); }
@Override protected void startUp() throws Exception { ZooKeeperServer zkServer = new ZooKeeperServer(); FileTxnSnapLog ftxn = new FileTxnSnapLog(dataDir, dataDir); zkServer.setTxnLogFactory(ftxn); zkServer.setTickTime(tickTime); factory = ServerCnxnFactory.createFactory(); factory.configure(getAddress(port), -1); factory.startup(zkServer); LOG.info("In memory ZK started: " + getConnectionStr()); }
public EmbeddedZookeeper() throws IOException { zkDataDir = Files.createTempDir(); zkServer = new ZooKeeperServer(); FileTxnSnapLog ftxn = new FileTxnSnapLog(zkDataDir, zkDataDir); zkServer.setTxnLogFactory(ftxn); cnxnFactory = NIOServerCnxnFactory.createFactory(0, 0); }
/** * Run from a ServerConfig. * @param config ServerConfig to use. * @throws IOException */ public void runFromConfig(ZookeeperConfig config) throws IOException { LOG.info("Starting server"); try { // Note that this thread isn't going to be doing anything else, // so rather than spawning another thread, we will just call // run() in this thread. // create a file logger url from the command line args zkServer = new ZooKeeperServer(); FileTxnSnapLog ftxn = new FileTxnSnapLog(new File(config.getDataLogDir()), new File(config.getDataDir())); zkServer.setTxnLogFactory(ftxn); zkServer.setTickTime(GiraphConstants.DEFAULT_ZOOKEEPER_TICK_TIME); zkServer.setMinSessionTimeout(config.getMinSessionTimeout()); zkServer.setMaxSessionTimeout(config.getMaxSessionTimeout()); cnxnFactory = ServerCnxnFactory.createFactory(); cnxnFactory.configure(config.getClientPortAddress(), GiraphConstants.DEFAULT_ZOOKEEPER_MAX_CLIENT_CNXNS); cnxnFactory.startup(zkServer); } catch (InterruptedException e) { // warn, but generally this is ok LOG.warn("Server interrupted", e); } }
public EmbeddedZookeeper(int port) throws IOException { zkDataDir = Files.createTempDir(); zkServer = new ZooKeeperServer(); FileTxnSnapLog ftxn = new FileTxnSnapLog(zkDataDir, zkDataDir); zkServer.setTxnLogFactory(ftxn); cnxnFactory = new NIOServerCnxnFactory(); cnxnFactory.configure(new InetSocketAddress(port), 0); }
/** * This method is coming from <code>ZooKeeperServerMain</code> but tweaked to not block and to * have access to <code>_zkServer</code> and <code>_cnxnFactory</code>. */ private void runFromConfig(ServerConfig config) throws IOException { log.info("Starting server"); try { _zkServer = new ZooKeeperServer(); FileTxnSnapLog ftxn = new FileTxnSnapLog(new File(config.getDataLogDir()), new File(config.getDataDir())); _zkServer.setTxnLogFactory(ftxn); _zkServer.setTickTime(config.getTickTime()); _zkServer.setMinSessionTimeout(config.getMinSessionTimeout()); _zkServer.setMaxSessionTimeout(config.getMaxSessionTimeout()); _cnxnFactory = new NIOServerCnxnFactory(); _cnxnFactory.configure(config.getClientPortAddress(), config.getMaxClientCnxns()); _cnxnFactory.startup(_zkServer); } catch(InterruptedException e) { // warn, but generally this is ok log.warn("Server interrupted", e); } }
public ZooKeeperServerFactory(QuorumPeerConfig config) throws IOException, InterruptedException { LOGGER.info("Creating zookeeper server with: {}", config); ServerConfig serverConfig = getServerConfig(config); 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", serverConfig.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; } }
public static ServerCnxnFactory startZookeeper(final String configResource, final String dataDirName) throws IOException, QuorumPeerConfig.ConfigException { ServerConfig sc = new ServerConfig(); sc.parse(pathToResource(configResource)); deleteDir(dataDirName); new File(dataDirName).mkdirs(); FileTxnSnapLog txnLog = null; try { ZooKeeperServer zkServer = new ZooKeeperServer(); txnLog = new FileTxnSnapLog(new File(sc.getDataDir()), new File( sc.getDataDir())); zkServer.setTxnLogFactory(txnLog); zkServer.setTickTime(sc.getTickTime()); zkServer.setMinSessionTimeout(sc.getMinSessionTimeout()); zkServer.setMaxSessionTimeout(sc.getMaxSessionTimeout()); ServerCnxnFactory cnxnFactory = ServerCnxnFactory.createFactory(); cnxnFactory.configure(sc.getClientPortAddress(), sc.getMaxClientCnxns()); cnxnFactory.startup(zkServer); return cnxnFactory; } catch (InterruptedException e) { throw new RuntimeException(e); } finally { if (txnLog != null) { txnLog.close(); } } }
private void runFromConfig(ServerConfig config) throws IOException { zkServer = new ZooKeeperServer(); try { txnLog = new FileTxnSnapLog(new File(config.getDataLogDir()), new File(config.getDataDir())); zkServer.setTxnLogFactory(txnLog); zkServer.setTickTime(config.getTickTime()); zkServer.setMinSessionTimeout(config.getMinSessionTimeout()); zkServer.setMaxSessionTimeout(config.getMaxSessionTimeout()); cnxnFactory = ServerCnxnFactory.createFactory(); cnxnFactory.configure(config.getClientPortAddress(), config.getMaxClientCnxns()); cnxnFactory.startup(zkServer); } catch (InterruptedException e) { if (zkServer.isRunning()) { zkServer.shutdown(); } } }
public void afterPropertiesSet() throws Exception { if( purge ) { deleteFilesInDir(getDataLogDir()); deleteFilesInDir(getDataDir()); } FileTxnSnapLog ftxn = new FileTxnSnapLog(getDataLogDir(), getDataDir()); zooKeeperServer.setTxnLogFactory(ftxn); zooKeeperServer.setTickTime(getTickTime()); zooKeeperServer.setMinSessionTimeout(getMinSessionTimeout()); zooKeeperServer.setMaxSessionTimeout(getMaxSessionTimeout()); connectionFactory = new NIOServerCnxnFactory(); connectionFactory.configure(getClientPortAddress(), getMaxClientConnections()); connectionFactory.startup(zooKeeperServer); }
public void afterPropertiesSet() throws Exception { if( purge ) { deleteFilesInDir(getDataLogDir()); deleteFilesInDir(getDataDir()); } FileTxnSnapLog ftxn = new FileTxnSnapLog(getDataLogDir(), getDataDir()); zooKeeperServer.setTxnLogFactory(ftxn); zooKeeperServer.setTickTime(getTickTime()); zooKeeperServer.setMinSessionTimeout(getMinSessionTimeout()); zooKeeperServer.setMaxSessionTimeout(getMaxSessionTimeout()); connectionFactory = new NIOServerCnxnFactory(); connectionFactory.configure(getClientPortAddress(), getMaxClientConnections()); connectionFactory.startup(zooKeeperServer); }
public void afterPropertiesSet() throws Exception { if( purge ) { deleteFilesInDir(getDataLogDir()); deleteFilesInDir(getDataDir()); } FileTxnSnapLog ftxn = new FileTxnSnapLog(getDataLogDir(), getDataDir()); zooKeeperServer.setTxnLogFactory(ftxn); zooKeeperServer.setTickTime(getTickTime()); zooKeeperServer.setMinSessionTimeout(getMinSessionTimeout()); zooKeeperServer.setMaxSessionTimeout(getMaxSessionTimeout()); connectionFactory = new NIOServerCnxnFactory(); connectionFactory.configure(getClientPortAddress(), getMaxClientConnections()); connectionFactory.startup(zooKeeperServer); }