本文整理汇总了Java中org.apache.bookkeeper.proto.BookieServer类的典型用法代码示例。如果您正苦于以下问题:Java BookieServer类的具体用法?Java BookieServer怎么用?Java BookieServer使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
BookieServer类属于org.apache.bookkeeper.proto包,在下文中一共展示了BookieServer类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: newBookie
import org.apache.bookkeeper.proto.BookieServer; //导入依赖的package包/类
BookieServer newBookie() throws Exception {
int port = nextPort++;
ServerConfiguration bookieConf = new ServerConfiguration();
bookieConf.setBookiePort(port);
File tmpdir = File.createTempFile("bookie" + Integer.toString(port) + "_",
"test");
tmpdir.delete();
tmpdir.mkdir();
bookieConf.setZkServers(zkEnsemble);
bookieConf.setJournalDirName(tmpdir.getPath());
bookieConf.setLedgerDirNames(new String[] { tmpdir.getPath() });
BookieServer b = new BookieServer(bookieConf);
b.start();
for (int i = 0; i < 10 && !b.isRunning(); i++) {
Thread.sleep(10000);
}
if (!b.isRunning()) {
throw new IOException("Bookie would not start");
}
return b;
}
示例2: sleepBookie
import org.apache.bookkeeper.proto.BookieServer; //导入依赖的package包/类
/**
* Sleep a bookie until I count down the latch
*
* @param latch
* latch to wait on
* @param bookie
* bookie server
* @throws Exception
*/
private void sleepBookie(final CountDownLatch latch, final BookieServer bookie)
throws Exception {
Thread sleeper = new Thread() {
public void run() {
try {
bookie.suspendProcessing();
latch.await(2, TimeUnit.MINUTES);
bookie.resumeProcessing();
} catch (Exception e) {
LOG.error("Error suspending bookie", e);
}
}
};
sleeper.setName("BookieServerSleeper-" + bookie.getBookie().getId());
sleeper.start();
}
示例3: sleepBookie
import org.apache.bookkeeper.proto.BookieServer; //导入依赖的package包/类
/**
* Sleep a bookie until I count down the latch
*
* @param latch
* Latch to wait on
* @param bookie
* bookie server
* @throws Exception
*/
private void sleepBookie(final CountDownLatch l, final BookieServer bookie)
throws Exception {
Thread sleeper = new Thread() {
public void run() {
try {
bookie.suspendProcessing();
l.await(60, TimeUnit.SECONDS);
bookie.resumeProcessing();
} catch (Exception e) {
LOG.error("Error suspending bookie", e);
}
}
};
sleeper.setName("BookieServerSleeper-" + bookie.getBookie().getId());
sleeper.start();
}
示例4: startBookie
import org.apache.bookkeeper.proto.BookieServer; //导入依赖的package包/类
public void startBookie() throws Exception {
ServerConfiguration conf = new ServerConfiguration();
conf.setBookiePort(5621);
conf.setUseHostNameAsBookieID(true);
Path targetDir = path.resolve("bookie_data");
conf.setZkServers("localhost:1282");
conf.setLedgerDirNames(new String[]{targetDir.toAbsolutePath().toString()});
conf.setJournalDirName(targetDir.toAbsolutePath().toString());
conf.setFlushInterval(10000);
conf.setGcWaitTime(5);
conf.setJournalFlushWhenQueueEmpty(true);
// conf.setJournalBufferedEntriesThreshold(1);
conf.setAutoRecoveryDaemonEnabled(false);
conf.setEnableLocalTransport(true);
conf.setAllowLoopback(true);
conf.setProperty("journalMaxGroupWaitMSec", 10); // default 200ms
ClientConfiguration adminConf = new ClientConfiguration(conf);
BookKeeperAdmin.format(adminConf, false, true);
this.bookie = new BookieServer(conf);
this.bookie.start();
}
示例5: runBookies
import org.apache.bookkeeper.proto.BookieServer; //导入依赖的package包/类
private void runBookies() throws IOException{
LOG.info("Starting Bookie(s)");
// Create Bookie Servers (B1, B2, B3)
tmpDirs = new File[numberOfBookies];
bs = new BookieServer[numberOfBookies];
for(int i = 0; i < numberOfBookies; i++){
tmpDirs[i] = File.createTempFile("bookie" + Integer.toString(i), "test");
tmpDirs[i].delete();
tmpDirs[i].mkdir();
bs[i] = new BookieServer(initialPort + i, InetAddress.getLocalHost().getHostAddress() + ":"
+ ZooKeeperDefaultPort, tmpDirs[i], new File[]{tmpDirs[i]});
bs[i].start();
}
}
示例6: stopBKCluster
import org.apache.bookkeeper.proto.BookieServer; //导入依赖的package包/类
/**
* Stop cluster. Also, stops all the auto recovery processes for the bookie cluster, if isAutoRecoveryEnabled is
* true.
*
* @throws Exception
*/
protected void stopBKCluster() throws Exception {
if (bkc != null) {
bkc.close();
}
for (BookieServer server : bs) {
server.shutdown();
AutoRecoveryMain autoRecovery = autoRecoveryProcesses.get(server);
if (autoRecovery != null && isAutoRecoveryEnabled()) {
autoRecovery.shutdown();
LOG.debug("Shutdown auto recovery for bookieserver:" + server.getLocalAddress());
}
}
bs.clear();
for (File f : tmpDirs) {
FileUtils.deleteDirectory(f);
}
}
示例7: killBookie
import org.apache.bookkeeper.proto.BookieServer; //导入依赖的package包/类
/**
* Kill a bookie by its socket address. Also, stops the autorecovery process for the corresponding bookie server, if
* isAutoRecoveryEnabled is true.
*
* @param addr
* Socket Address
* @return the configuration of killed bookie
* @throws InterruptedException
*/
public ServerConfiguration killBookie(InetSocketAddress addr) throws Exception {
BookieServer toRemove = null;
int toRemoveIndex = 0;
for (BookieServer server : bs) {
if (server.getLocalAddress().equals(addr)) {
server.shutdown();
toRemove = server;
break;
}
++toRemoveIndex;
}
if (toRemove != null) {
stopAutoRecoveryService(toRemove);
bs.remove(toRemove);
return bsConfs.remove(toRemoveIndex);
}
return null;
}
示例8: sleepBookie
import org.apache.bookkeeper.proto.BookieServer; //导入依赖的package包/类
/**
* Sleep a bookie
*
* @param addr
* Socket Address
* @param seconds
* Sleep seconds
* @return Count Down latch which will be counted down when sleep finishes
* @throws InterruptedException
* @throws IOException
*/
public CountDownLatch sleepBookie(InetSocketAddress addr, final int seconds) throws Exception {
for (final BookieServer bookie : bs) {
if (bookie.getLocalAddress().equals(addr)) {
final CountDownLatch l = new CountDownLatch(1);
Thread sleeper = new Thread() {
@Override
public void run() {
try {
bookie.suspendProcessing();
l.countDown();
Thread.sleep(seconds * 1000);
bookie.resumeProcessing();
} catch (Exception e) {
LOG.error("Error suspending bookie", e);
}
}
};
sleeper.start();
return l;
}
}
throw new IOException("Bookie not found");
}
示例9: restartBookies
import org.apache.bookkeeper.proto.BookieServer; //导入依赖的package包/类
/**
* Restart bookie servers using new configuration settings. Also restart the respective auto recovery process, if
* isAutoRecoveryEnabled is true.
*
* @param newConf
* New Configuration Settings
* @throws InterruptedException
* @throws IOException
* @throws KeeperException
* @throws BookieException
*/
public void restartBookies(ServerConfiguration newConf) throws Exception {
// shut down bookie server
for (BookieServer server : bs) {
server.shutdown();
stopAutoRecoveryService(server);
}
bs.clear();
Thread.sleep(1000);
// restart them to ensure we can't
List<ServerConfiguration> bsConfsCopy = new ArrayList<ServerConfiguration>(bsConfs);
bsConfs.clear();
for (ServerConfiguration conf : bsConfsCopy) {
if (null != newConf) {
conf.loadConf(newConf);
}
startBookie(conf);
}
}
示例10: startBookie
import org.apache.bookkeeper.proto.BookieServer; //导入依赖的package包/类
/**
* Helper method to startup a bookie server using a configuration object. Also, starts the auto recovery process if
* isAutoRecoveryEnabled is true.
*
* @param conf
* Server Configuration Object
*
*/
protected BookieServer startBookie(ServerConfiguration conf) throws Exception {
BookieServer server = new BookieServer(conf);
bsConfs.add(conf);
bs.add(server);
server.start();
if (bkc == null) {
bkc = new BookKeeperTestClient(baseClientConf);
}
int port = conf.getBookiePort();
while (bkc.getZkHandle().exists(
"/ledgers/available/" + InetAddress.getLocalHost().getHostAddress() + ":" + port, false) == null) {
Thread.sleep(500);
}
bkc.readBookiesBlocking();
LOG.info("New bookie on port " + port + " has been created.");
return server;
}
示例11: close
import org.apache.bookkeeper.proto.BookieServer; //导入依赖的package包/类
@Override
public void close() throws Exception {
try {
this.servers.stream().filter(Objects::nonNull).forEach(BookieServer::shutdown);
if (this.zkServer.get() != null) {
this.zkServer.get().close();
}
} finally {
cleanupDirectories();
}
Thread c = this.cleanup.getAndSet(null);
if (c != null) {
Runtime.getRuntime().removeShutdownHook(c);
}
}
示例12: EmbeddedBookie
import org.apache.bookkeeper.proto.BookieServer; //导入依赖的package包/类
/**
* Create an empty data directory for the Bookie server and configure
* the Bookie server.
* @param baseConf Base Bookie server configuration
* @param zkConnect ZooKeeper quorum specification (e.g., "host:port" or a
* list of "host:port" pairs)
* @param bookieId Unique identifier for this bookie
* @throws IOException If unable to create the data directory.
*/
EmbeddedBookie(ServerConfiguration baseConf, String zkConnect, int bookieId)
throws IOException {
this.bookieId = bookieId;
File bkTmpDir = new File(TEST_DIR) ;
bkTmpDir.mkdirs();
tmpDir = new File(BK_BOOKIE_DATA_DIR_PREFIX + bookieId);
FileUtil.fullyDelete(tmpDir);
if (!tmpDir.mkdirs()) {
throw new IOException("Unable to create bookie dir " + tmpDir);
}
bookieConf = new ServerConfiguration(baseConf);
bookieConf.setBookiePort(MiniDFSCluster.getFreePort());
bookieConf.setZkServers(zkConnect);
bookieConf.setJournalDirName(tmpDir.getPath());
bookieConf.setLedgerDirNames(new String[] { tmpDir.getPath() });
bookieConf.setLogger(LogFactory.getLog(this.getClass().toString()));
bookieRef = new AtomicReference<BookieServer>(null);
}
示例13: startBookie
import org.apache.bookkeeper.proto.BookieServer; //导入依赖的package包/类
public void startBookie() throws Exception {
ServerConfiguration conf = new ServerConfiguration();
conf.setBookiePort(5621);
conf.setUseHostNameAsBookieID(true);
Path targetDir = path.resolve("bookie_data");
conf.setZkServers("localhost:1282");
conf.setLedgerDirNames(new String[]{targetDir.toAbsolutePath().toString()});
conf.setJournalDirName(targetDir.toAbsolutePath().toString());
conf.setFlushInterval(1000);
conf.setJournalFlushWhenQueueEmpty(true);
conf.setGcWaitTime(10);
conf.setAutoRecoveryDaemonEnabled(false);
// in unit tests we do not need real network for bookies
conf.setEnableLocalTransport(true);
// conf.setDisableServerSocketBind(true);
conf.setAllowLoopback(true);
ClientConfiguration adminConf = new ClientConfiguration(conf);
BookKeeperAdmin.format(adminConf, false, true);
this.bookie = new BookieServer(conf);
this.bookie.start();
}
示例14: startBookie
import org.apache.bookkeeper.proto.BookieServer; //导入依赖的package包/类
public void startBookie() throws Exception {
ServerConfiguration conf = new ServerConfiguration();
conf.setBookiePort(5621);
conf.setUseHostNameAsBookieID(true);
Path targetDir = path.resolve("bookie_data");
conf.setZkServers("localhost:1282");
conf.setLedgerDirNames(new String[]{targetDir.toAbsolutePath().toString()});
conf.setJournalDirName(targetDir.toAbsolutePath().toString());
conf.setFlushInterval(1000);
conf.setAutoRecoveryDaemonEnabled(false);
conf.setAllowLoopback(true);
ClientConfiguration adminConf = new ClientConfiguration(conf);
BookKeeperAdmin.format(adminConf, false, true);
this.bookie = new BookieServer(conf);
this.bookie.start();
}
示例15: teardownBookkeeper
import org.apache.bookkeeper.proto.BookieServer; //导入依赖的package包/类
@AfterClass
public static void teardownBookkeeper() throws Exception {
bkutil.teardown();
for (BookieServer bk : bks) {
bk.shutdown();
}
}