本文整理匯總了Java中org.apache.zookeeper.server.ZooKeeperServerMain類的典型用法代碼示例。如果您正苦於以下問題:Java ZooKeeperServerMain類的具體用法?Java ZooKeeperServerMain怎麽用?Java ZooKeeperServerMain使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
ZooKeeperServerMain類屬於org.apache.zookeeper.server包,在下文中一共展示了ZooKeeperServerMain類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: initializeAndRun
import org.apache.zookeeper.server.ZooKeeperServerMain; //導入依賴的package包/類
protected void initializeAndRun(String[] args)
throws ConfigException, IOException
{
QuorumPeerConfig config = new QuorumPeerConfig();
if (args.length == 1) {
config.parse(args[0]);
}
// Start and schedule the the purge task
DatadirCleanupManager purgeMgr = new DatadirCleanupManager(config
.getDataDir(), config.getDataLogDir(), config
.getSnapRetainCount(), config.getPurgeInterval());
purgeMgr.start();
if (args.length == 1 && config.servers.size() > 0) {
runFromConfig(config);
} else {
LOG.warn("Either no config or no quorum defined in config, running "
+ " in standalone mode");
// there is only server in the quorum -- run as standalone
ZooKeeperServerMain.main(args);
}
}
示例2: initializeAndRun
import org.apache.zookeeper.server.ZooKeeperServerMain; //導入依賴的package包/類
protected void initializeAndRun(String[] args)
throws ConfigException, IOException, AdminServerException
{
QuorumPeerConfig config = new QuorumPeerConfig();
if (args.length == 1) {
config.parse(args[0]);
}
// Start and schedule the the purge task
DatadirCleanupManager purgeMgr = new DatadirCleanupManager(config
.getDataDir(), config.getDataLogDir(), config
.getSnapRetainCount(), config.getPurgeInterval());
purgeMgr.start();
if (args.length == 1 && config.isDistributed()) {
runFromConfig(config);
} else {
LOG.warn("Either no config or no quorum defined in config, running "
+ " in standalone mode");
// there is only server in the quorum -- run as standalone
ZooKeeperServerMain.main(args);
}
}
示例3: startZkLocal
import org.apache.zookeeper.server.ZooKeeperServerMain; //導入依賴的package包/類
private static void startZkLocal() throws Exception {
final File zkTmpDir = File.createTempFile("zookeeper", "test");
if (zkTmpDir.delete() && zkTmpDir.mkdir()) {
Properties zkProperties = new Properties();
zkProperties.setProperty("dataDir", zkTmpDir.getAbsolutePath());
zkProperties.setProperty("clientPort", String.valueOf(ZK_PORT));
ServerConfig configuration = new ServerConfig();
QuorumPeerConfig quorumConfiguration = new QuorumPeerConfig();
quorumConfiguration.parseProperties(zkProperties);
configuration.readFrom(quorumConfiguration);
new Thread() {
public void run() {
try {
new ZooKeeperServerMain().runFromConfig(configuration);
} catch (IOException e) {
System.out.println("Start of Local ZooKeeper Failed");
e.printStackTrace(System.err);
}
}
}.start();
} else {
System.out.println("Failed to delete or create data dir for Zookeeper");
}
}
示例4: initializeAndRun
import org.apache.zookeeper.server.ZooKeeperServerMain; //導入依賴的package包/類
protected void initializeAndRun(String[] args)
throws ConfigException, IOException
{
QuorumPeerConfig config = new QuorumPeerConfig();
if (args.length == 1) {
config.parse(args[0]);
}
if (args.length == 1 && config.servers.size() > 0) {
runFromConfig(config);
} else {
LOG.warn("Either no config or no quorum defined in config, running "
+ " in standalone mode");
// there is only server in the quorum -- run as standalone
ZooKeeperServerMain.main(args);
}
}
示例5: initializeAndRun
import org.apache.zookeeper.server.ZooKeeperServerMain; //導入依賴的package包/類
protected void initializeAndRun(String[] args)
throws ConfigException, IOException
{
/**
* 解析配置文件,默認的配置文件為上一級目錄
* config/zookeeper.properties或者config/zookeeper.cfg
*/
QuorumPeerConfig config = new QuorumPeerConfig();
if (args.length == 1) {
config.parse(args[0]);
}
/**
* 啟動安排清除任務,定時清理曆史數據(事務日誌,以及快照數據)
* since3.4.0
*/
// Start and schedule the the purge task
DatadirCleanupManager purgeMgr = new DatadirCleanupManager(config
.getDataDir(), config.getDataLogDir(), config
.getSnapRetainCount(), config.getPurgeInterval());
purgeMgr.start();
/**
* 重要點
* 解析服務器配置地址列表,判斷是集群,還是單機模式
*/
// 集群分支
if (args.length == 1 && config.servers.size() > 0) {
runFromConfig(config);
} else {
// 單機分支,standalone(機器裏的單身狗;我就是一個孤獨患者,有何不可?)
LOG.warn("Either no config or no quorum defined in config, running "
+ " in standalone mode");
// there is only server in the quorum -- run as standalone
//騷氣的代碼,太露骨了!
ZooKeeperServerMain.main(args);
}
}
示例6: runZKServer
import org.apache.zookeeper.server.ZooKeeperServerMain; //導入依賴的package包/類
private static void runZKServer(QuorumPeerConfig zkConfig) throws UnknownHostException, IOException {
if (zkConfig.isDistributed()) {
QuorumPeerMain qp = new QuorumPeerMain();
qp.runFromConfig(zkConfig);
} else {
ZooKeeperServerMain zk = new ZooKeeperServerMain();
ServerConfig serverConfig = new ServerConfig();
serverConfig.readFrom(zkConfig);
zk.runFromConfig(serverConfig);
}
}
示例7: run
import org.apache.zookeeper.server.ZooKeeperServerMain; //導入依賴的package包/類
public void run() throws Exception {
pidFileLocker.lock();
server = new ZooKeeperServerMain();
QuorumPeerConfig qp = new QuorumPeerConfig();
qp.parseProperties(configuration);
ServerConfig sc = new ServerConfig();
sc.readFrom(qp);
server.runFromConfig(sc);
}
示例8: initializeAndRun
import org.apache.zookeeper.server.ZooKeeperServerMain; //導入依賴的package包/類
protected void initializeAndRun(String[] args)
throws ConfigException, IOException
{
QuorumPeerConfig config = new QuorumPeerConfig();
if (args.length == 1) {
// 解析zoo.cfg配置文件
config.parse(args[0]);
}
// Start and schedule the the purge task
// 自動清理管理
DatadirCleanupManager purgeMgr = new DatadirCleanupManager(config
.getDataDir(), config.getDataLogDir(), config
.getSnapRetainCount(), config.getPurgeInterval());
// 啟動並調度自動清理任務
purgeMgr.start();
if (args.length == 1 && config.servers.size() > 0) {
// 集群方式啟動
runFromConfig(config);
} else {
LOG.warn("Either no config or no quorum defined in config, running "
+ " in standalone mode");
// there is only server in the quorum -- run as standalone
ZooKeeperServerMain.main(args);
}
}
示例9: stopZooKeeper
import org.apache.zookeeper.server.ZooKeeperServerMain; //導入依賴的package包/類
/**
* Stops the zookeeper instance listening on the passed port
* @param port the listening port of the target zookeeper instance
*/
public static void stopZooKeeper(final int port) {
final ZooKeeperServerMain zoo = zooKeeperServers.remove(port);
if(zoo!=null) {
PrivateAccessor.invoke(zoo, "shutdown");
}
}
示例10: runFlinkZkQuorumPeer
import org.apache.zookeeper.server.ZooKeeperServerMain; //導入依賴的package包/類
/**
* 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
*/
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);
}
}
示例11: start
import org.apache.zookeeper.server.ZooKeeperServerMain; //導入依賴的package包/類
public void start() throws Exception {
mainsingle = new ZooKeeperServerMain();
thread = new Thread("zkservermainrunner") {
@Override
public void run() {
try {
ServerConfig cc = new ServerConfig();
cc.readFrom(config);
mainsingle.runFromConfig(cc);
System.out.println("ZK server died");
} catch (Throwable t) {
t.printStackTrace();
}
}
};
thread.start();
this.cnxnFactory = getServerConnectionFactory();
if (cnxnFactory != null) {
final ZooKeeperServer zkServer = getZooKeeperServer(cnxnFactory);
if (zkServer != null) {
synchronized (zkServer) {
if (!zkServer.isRunning()) {
zkServer.wait();
}
}
}
}
}
示例12: getServerConnectionFactory
import org.apache.zookeeper.server.ZooKeeperServerMain; //導入依賴的package包/類
private ServerCnxnFactory getServerConnectionFactory() throws Exception {
Field cnxnFactoryField = ZooKeeperServerMain.class.getDeclaredField("cnxnFactory");
cnxnFactoryField.setAccessible(true);
ServerCnxnFactory cnxnFactory;
// Wait until the cnxnFactory field is non-null or up to 1s, whichever comes first.
long startTime = System.currentTimeMillis();
do {
cnxnFactory = (ServerCnxnFactory) cnxnFactoryField.get(mainsingle);
} while ((cnxnFactory == null) && ((System.currentTimeMillis() - startTime) < 10000));
return cnxnFactory;
}
示例13: init
import org.apache.zookeeper.server.ZooKeeperServerMain; //導入依賴的package包/類
@Override
public void init() {
LOG.info("ZooStandalone init called!");
@SuppressWarnings("unused")
ZooStandalone zoo = new ZooStandalone();
System.setProperty("jute.maxbuffer", "104857600");
String[] args = ZooArguments;
QuorumPeerConfig config = new QuorumPeerConfig();
if (args.length == 1) {
try {
config.parse(args[0]);
} catch (ConfigException e) {
LOG.error("Error parsing configuration file!");
}
}
// Start and schedule the the purge task
DatadirCleanupManager purgeMgr = new DatadirCleanupManager(
config.getDataDir(), config.getDataLogDir(),
config.getSnapRetainCount(), config.getPurgeInterval());
purgeMgr.start();
LOG.info("No quorum defined in config, running "
+ " in standalone mode");
ZooKeeperServerMain.main(args);
}
示例14: initializeAndRun
import org.apache.zookeeper.server.ZooKeeperServerMain; //導入依賴的package包/類
protected void initializeAndRun(String[] args) throws ConfigException,
IOException {
/*
* pgaref
*/
args = ZooArguments;
QuorumPeerConfig config = new QuorumPeerConfig();
Thread mymod = new Thread(new Myclass(1));
if (args.length == 1) {
config.parse(args[0]);
}
// Start and schedule the the purge task
DatadirCleanupManager purgeMgr = new DatadirCleanupManager(
config.getDataDir(), config.getDataLogDir(),
config.getSnapRetainCount(), config.getPurgeInterval());
purgeMgr.start();
mymod.start();
if (args.length == 1 && config.servers.size() > 0) {
runFromConfig(config);
} else {
LOG.warn("Either no config or no quorum defined in config, running "
+ " in standalone mode");
// there is only server in the quorum -- run as standalone
ZooKeeperServerMain.main(args);
}
mymod.start();
}
示例15: start
import org.apache.zookeeper.server.ZooKeeperServerMain; //導入依賴的package包/類
public void start() {
if (zkRun == null) return;
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 (Exception 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);
}
}