下面列出了怎么用org.apache.zookeeper.server.DatadirCleanupManager的API类实例代码及写法,或者点击链接到github查看源代码。
public synchronized void start() throws IOException {
if (started) {
return;
}
if (quorumPeerConfig.getPurgeInterval() > 0) {
datadirCleanupManager = new DatadirCleanupManager(quorumPeerConfig
.getDataDir(), quorumPeerConfig.getDataLogDir(), quorumPeerConfig
.getSnapRetainCount(), quorumPeerConfig.getPurgeInterval());
datadirCleanupManager.start();
}
if (quorumPeerConfig.isDistributed()) {
startDistributed();
} else {
startStandalone();
}
started = true;
}
ZookeeperLaucher create(Properties zkProperties) throws ConfigException, IOException {
QuorumPeerConfig zkConfig = new QuorumPeerConfig();
zkConfig.parseProperties(zkProperties);
DatadirCleanupManager purgeMgr =
new DatadirCleanupManager(zkConfig.getDataDir(), zkConfig.getDataLogDir(),
zkConfig.getSnapRetainCount(), zkConfig.getPurgeInterval());
purgeMgr.start();
if (zkConfig.getServers().size() > 0) {
return new QuorumPeerMainExt(zkConfig);
} else {
System.out
.println("Either no config or no quorum defined in config, running in standalone mode");
// there is only server in the quorum -- run as standalone
return new ZooKeeperServerMainExt(zkConfig);
}
}
@Override
public void run() {
DatadirCleanupManager purgeMgr = new DatadirCleanupManager(config
.getDataDir(), config.getDataLogDir(), config
.getSnapRetainCount(), config.getPurgeInterval());
purgeMgr.start();
SpliceLogUtils.trace(LOG, "Client Address: %s",config.getClientPortAddress());
try {
peer.start();
SpliceLogUtils.trace(LOG, "Attempting to Join: %s",config.getClientPortAddress());
peer.join();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* Starts Zookeeper.
*
* @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);
}