use of org.apache.zookeeper.server.quorum.QuorumPeerConfig in project fabric8 by jboss-fuse.
the class ZooKeeperUtils method getPeerConfig.
private static QuorumPeerConfig getPeerConfig(Properties props) throws IOException, QuorumPeerConfig.ConfigException {
QuorumPeerConfig peerConfig = new QuorumPeerConfig();
peerConfig.parseProperties(props);
LOGGER.info("Created zookeeper peer configuration: {}", peerConfig);
return peerConfig;
}
use of org.apache.zookeeper.server.quorum.QuorumPeerConfig in project ecf by eclipse.
the class ZooDiscoveryContainer method startQuorumPeer.
/**
* Start a local ZooKeeer server to write nodes to. It plays as a peer
* within a replicated servers configuration. Implied by
* {@link IDiscoveryConfig#ZOODISCOVERY_FLAVOR_REPLICATED} configuration.
*
* @param conf
*/
void startQuorumPeer(final Configuration conf) {
if (this.quorumPeer != null && this.quorumPeer.isAlive()) {
return;
} else if (this.quorumPeer != null && !this.quorumPeer.isAlive()) {
this.quorumPeer.start();
return;
}
try {
final QuorumPeerConfig quorumPeerConfig = new QuorumPeerConfig();
quorumPeerConfig.parse(conf.getConfFile());
QuorumPeer.Factory qpFactory = new QuorumPeer.Factory() {
public QuorumPeer create(NIOServerCnxn.Factory cnxnFactory) throws IOException {
ServerConfig serverConfig = new ServerConfig();
serverConfig.readFrom(quorumPeerConfig);
QuorumPeer peer = new QuorumPeer(quorumPeerConfig.getServers(), new File(serverConfig.getDataDir()), new File(serverConfig.getDataLogDir()), quorumPeerConfig.getElectionAlg(), quorumPeerConfig.getServerId(), quorumPeerConfig.getTickTime(), quorumPeerConfig.getInitLimit(), quorumPeerConfig.getSyncLimit(), cnxnFactory, quorumPeerConfig.getQuorumVerifier());
ZooDiscoveryContainer.this.quorumPeer = peer;
return peer;
}
public NIOServerCnxn.Factory createConnectionFactory() throws IOException {
return new NIOServerCnxn.Factory(quorumPeerConfig.getClientPortAddress());
}
};
quorumPeer = qpFactory.create(qpFactory.createConnectionFactory());
quorumPeer.start();
quorumPeer.setDaemon(true);
isQuorumPeerReady = true;
} catch (Exception e) {
// $NON-NLS-1$
Logger.log(LogService.LOG_ERROR, "Zookeeper quorum cannot be started! ", e);
isQuorumPeerReady = false;
}
}
use of org.apache.zookeeper.server.quorum.QuorumPeerConfig in project motan by weibocom.
the class EmbeddedZookeeper method start.
public void start() throws IOException, QuorumPeerConfig.ConfigException {
Properties properties = new Properties();
InputStream in = EmbeddedZookeeper.class.getResourceAsStream("/zoo.cfg");
properties.load(in);
QuorumPeerConfig quorumConfiguration = new QuorumPeerConfig();
quorumConfiguration.parseProperties(properties);
in.close();
zookeeperServer = new ZooKeeperServerMain();
final ServerConfig configuration = new ServerConfig();
configuration.readFrom(quorumConfiguration);
t1 = new Thread(new Runnable() {
@Override
public void run() {
try {
zookeeperServer.runFromConfig(configuration);
} catch (IOException e) {
}
}
});
t1.start();
}
use of org.apache.zookeeper.server.quorum.QuorumPeerConfig in project motan by weibocom.
the class EmbeddedZookeeper method start.
public void start() throws IOException, QuorumPeerConfig.ConfigException {
Properties properties = new Properties();
InputStream in = EmbeddedZookeeper.class.getResourceAsStream("/zoo.cfg");
properties.load(in);
QuorumPeerConfig quorumConfiguration = new QuorumPeerConfig();
quorumConfiguration.parseProperties(properties);
in.close();
zookeeperServer = new ZooKeeperServerMain();
final ServerConfig configuration = new ServerConfig();
configuration.readFrom(quorumConfiguration);
t1 = new Thread(new Runnable() {
@Override
public void run() {
try {
zookeeperServer.runFromConfig(configuration);
} catch (IOException e) {
}
}
});
t1.start();
}
use of org.apache.zookeeper.server.quorum.QuorumPeerConfig in project flink by apache.
the class FlinkZooKeeperQuorumPeer method runFlinkZkQuorumPeer.
// ------------------------------------------------------------------------
/**
* 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);
}
}
Aggregations