org.apache.zookeeper.ZooKeeper.<init>()方法的使用及代码示例

x33g5p2x  于2022-02-05 转载在 其他  
字(11.2k)|赞(0)|评价(0)|浏览(284)

本文整理了Java中org.apache.zookeeper.ZooKeeper.<init>()方法的一些代码示例,展示了ZooKeeper.<init>()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZooKeeper.<init>()方法的具体详情如下:
包路径:org.apache.zookeeper.ZooKeeper
类名称:ZooKeeper
方法名:<init>

ZooKeeper.<init>介绍

[英]To create a ZooKeeper client object, the application needs to pass a connection string containing a comma separated list of host:port pairs, each corresponding to a ZooKeeper server.

Session establishment is asynchronous. This constructor will initiate connection to the server and return immediately - potentially (usually) before the session is fully established. The watcher argument specifies the watcher that will be notified of any changes in state. This notification can come at any point before or after the constructor call has returned.

The instantiated ZooKeeper client object will pick an arbitrary server from the connectString and attempt to connect to it. If establishment of the connection fails, another server in the connect string will be tried (the order is non-deterministic, as we random shuffle the list), until a connection is established. The client will continue attempts until the session is explicitly closed.

Added in 3.2.0: An optional "chroot" suffix may also be appended to the connection string. This will run the client commands while interpreting all paths relative to this root (similar to the unix chroot command).
[中]要创建ZooKeeper客户端对象,应用程序需要传递一个连接字符串,其中包含一个以逗号分隔的主机:端口对列表,每个对对应于ZooKeeper服务器。
会话建立是异步的。此构造函数将启动与服务器的连接并立即返回——可能(通常)在会话完全建立之前返回。watcher参数指定状态发生任何变化时将被通知的观察者。此通知可以在构造函数调用返回之前或之后的任何时间点发出。
实例化的ZooKeeper客户端对象将从connectString中选择任意服务器,并尝试连接到该服务器。如果建立连接失败,将尝试连接字符串中的另一个服务器(顺序是不确定的,因为我们随机洗牌列表),直到建立连接为止。客户端将继续尝试,直到会话显式关闭。
在3.2.0中添加:可选的“chroot”后缀也可以附加到连接字符串中。这将运行客户机命令,同时解释与此根相关的所有路径(类似于unix chroot命令)。

代码示例

代码示例来源:origin: apache/hbase

/**
 * Get a ZooKeeper instance and wait until it connected before returning.
 * @param sessionTimeoutMs Used as session timeout passed to the created ZooKeeper AND as the
 *   timeout to wait on connection establishment.
 */
public static ZooKeeper getConnectedZooKeeper(String connectString, int sessionTimeoutMs)
  throws IOException {
 ZooKeeper zookeeper = new ZooKeeper(connectString, sessionTimeoutMs, e -> {});
 return ensureConnectedZooKeeper(zookeeper, sessionTimeoutMs);
}

代码示例来源:origin: ltsopensource/light-task-scheduler

private synchronized void tryReConnect() throws IOException {
  doClose0();
  zk = new ZooKeeper(hosts, connectionTimeout, this);
}

代码示例来源:origin: apache/zookeeper

public void restartClient(int clientIndex, Watcher watcher) throws IOException, InterruptedException {
  if (zk[clientIndex] != null) {
    zk[clientIndex].close();
  }
  zk[clientIndex] = new ZooKeeper("127.0.0.1:" + clientPorts[clientIndex], ClientBase.CONNECTION_TIMEOUT, watcher);
}

代码示例来源:origin: knightliao/disconf

public void connect(String hosts) throws IOException, InterruptedException {
  zk = new ZooKeeper(hosts, SESSION_TIMEOUT, this);
  connectedSignal.await();
}

代码示例来源:origin: apache/zookeeper

private void utestPrep(int port)
  throws IOException, InterruptedException, KeeperException
{
  ZooKeeper zk =
    new ZooKeeper("127.0.0.1:" + port, CONNECTION_TIMEOUT, this);
  for (int i = 0; i < 10000; i++) {
    zk.create("/" + i, null, Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
  }
  zk.close();
}

代码示例来源:origin: apache/zookeeper

private void utestChildren(int port)
  throws IOException, InterruptedException, KeeperException
{
  ZooKeeper zk =
    new ZooKeeper("127.0.0.1:" + port, CONNECTION_TIMEOUT, this);
  for (int i = 0; i < 10000; i++) {
    zk.getChildren("/" + i, true);
  }
  zk.close();
}

代码示例来源:origin: apache/zookeeper

private void utestExists(int port)
  throws IOException, InterruptedException, KeeperException
{
  ZooKeeper zk =
    new ZooKeeper("127.0.0.1:" + port, CONNECTION_TIMEOUT, this);
  for (int i = 0; i < 10000; i++) {
    zk.exists("/this/path/doesnt_exist!", true);
  }
  zk.close();
}

代码示例来源:origin: apache/zookeeper

private void utestGet(int port)
  throws IOException, InterruptedException, KeeperException
{
  ZooKeeper zk =
    new ZooKeeper("127.0.0.1:" + port, CONNECTION_TIMEOUT, this);
  for (int i = 0; i < 10000; i++) {
    Stat stat = new Stat();
    zk.getData("/" + i, true, stat);
  }
  zk.close();
}

代码示例来源:origin: apache/hbase

private ZooKeeper getZk() throws IOException {
 // may be closed when session expired
 if (zookeeper == null || !zookeeper.getState().isAlive()) {
  zookeeper = new ZooKeeper(connectString, sessionTimeoutMs, e -> {});
 }
 return zookeeper;
}

代码示例来源:origin: apache/zookeeper

protected ZooKeeper createClient(Watcher watcher, CountDownLatch latch)
  throws IOException, InterruptedException
{
  ZooKeeper zk = new ZooKeeper(hostPort, CONNECTION_TIMEOUT, watcher);
  if(!latch.await(CONNECTION_TIMEOUT, TimeUnit.MILLISECONDS)){
    Assert.fail("Unable to connect to server");
  }
  return zk;
}

代码示例来源:origin: apache/zookeeper

private void verifySessionTimeOut(int sessionTimeout,
    int expectedSessionTimeout, String HOSTPORT) throws IOException,
    KeeperException, InterruptedException {
  clientConnected = new CountDownLatch(1);
  ZooKeeper zk = new ZooKeeper(HOSTPORT, sessionTimeout, this);
  Assert.assertTrue("Failed to establish zkclient connection!",
      clientConnected.await(sessionTimeout, TimeUnit.MILLISECONDS));
  Assert.assertEquals("Not able to configure the sessionTimeout values",
      expectedSessionTimeout, zk.getSessionTimeout());
  zk.close();
}

代码示例来源:origin: apache/zookeeper

/**
 * Test to verify that server is able to start with valid credentials
 */
@Test(timeout = 120000)
public void testValidCredentials() throws Exception {
  String serverPrincipal = hostServerPrincipal.substring(0, hostServerPrincipal.lastIndexOf("@"));
  Map<String, String> authConfigs = new HashMap<String, String>();
  authConfigs.put(QuorumAuth.QUORUM_SASL_AUTH_ENABLED, "true");
  authConfigs.put(QuorumAuth.QUORUM_SERVER_SASL_AUTH_REQUIRED, "true");
  authConfigs.put(QuorumAuth.QUORUM_LEARNER_SASL_AUTH_REQUIRED, "true");
  authConfigs.put(QuorumAuth.QUORUM_KERBEROS_SERVICE_PRINCIPAL, serverPrincipal);
  String connectStr = startQuorum(3, authConfigs, 3);
  CountdownWatcher watcher = new CountdownWatcher();
  ZooKeeper zk = new ZooKeeper(connectStr, ClientBase.CONNECTION_TIMEOUT, watcher);
  watcher.waitForConnected(ClientBase.CONNECTION_TIMEOUT);
  for (int i = 0; i < 10; i++) {
    zk.create("/" + i, new byte[0], Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
  }
  zk.close();
}

代码示例来源:origin: apache/zookeeper

public static ZooKeeper[] createHandles(QuorumUtil qu) throws IOException {
  // create an extra handle, so we can index the handles from 1 to qu.ALL
  // using the server id.
  ZooKeeper[] zkArr = new ZooKeeper[qu.ALL + 1];
  zkArr[0] = null; // not used.
  for (int i = 1; i <= qu.ALL; i++) {
    // server ids are 1, 2 and 3
    zkArr[i] = new ZooKeeper("127.0.0.1:"
        + qu.getPeer(i).peer.getClientPort(),
        ClientBase.CONNECTION_TIMEOUT, new Watcher() {
          public void process(WatchedEvent event) {
          }});
  }
  return zkArr;
}

代码示例来源:origin: apache/zookeeper

/**
 * Test to verify that servers are able to form quorum.
 * peer0 -> quorum.auth.enableSasl=true, quorum.auth.learnerRequireSasl=false, quorum.auth.serverRequireSasl=false
 * peer1 -> quorum.auth.enableSasl=true, quorum.auth.learnerRequireSasl=false, quorum.auth.serverRequireSasl=false
 */
@Test(timeout = 30000)
public void testAuthLearnerAgainstNoAuthRequiredServer() throws Exception {
  Map<String, String> authConfigs = new HashMap<String, String>();
  authConfigs.put(QuorumAuth.QUORUM_SASL_AUTH_ENABLED, "true");
  String connectStr = startQuorum(2, authConfigs, 2);
  CountdownWatcher watcher = new CountdownWatcher();
  ZooKeeper zk = new ZooKeeper(connectStr, ClientBase.CONNECTION_TIMEOUT,
      watcher);
  watcher.waitForConnected(ClientBase.CONNECTION_TIMEOUT);
  zk.create("/foo", new byte[0], Ids.OPEN_ACL_UNSAFE,
      CreateMode.PERSISTENT);
  zk.close();
}

代码示例来源:origin: apache/zookeeper

/**
 * Test to verify that servers are able to start without any authentication.
 * peer0 -> quorum.auth.enableSasl=false
 * peer1 -> quorum.auth.enableSasl=false
 */
@Test(timeout = 30000)
public void testNullAuthLearnerServer() throws Exception {
  Map<String, String> authConfigs = new HashMap<String, String>();
  authConfigs.put(QuorumAuth.QUORUM_SASL_AUTH_ENABLED, "false");
  String connectStr = startQuorum(2, authConfigs, 0);
  CountdownWatcher watcher = new CountdownWatcher();
  ZooKeeper zk = new ZooKeeper(connectStr, ClientBase.CONNECTION_TIMEOUT,
      watcher);
  watcher.waitForConnected(ClientBase.CONNECTION_TIMEOUT);
  zk.create("/foo", new byte[0], Ids.OPEN_ACL_UNSAFE,
      CreateMode.PERSISTENT);
  zk.close();
}

代码示例来源:origin: apache/zookeeper

/**
 * Test to verify that servers are able to form quorum.
 * peer0 -> quorum.auth.enableSasl=true, quorum.auth.learnerRequireSasl=false, quorum.auth.serverRequireSasl=false
 * peer1 -> quorum.auth.enableSasl=false, quorum.auth.learnerRequireSasl=false, quorum.auth.serverRequireSasl=false
 */
@Test(timeout = 30000)
public void testAuthLearnerAgainstNullAuthServer() throws Exception {
  Map<String, String> authConfigs = new HashMap<String, String>();
  authConfigs.put(QuorumAuth.QUORUM_SASL_AUTH_ENABLED, "true");
  String connectStr = startQuorum(2, authConfigs, 1);
  CountdownWatcher watcher = new CountdownWatcher();
  ZooKeeper zk = new ZooKeeper(connectStr, ClientBase.CONNECTION_TIMEOUT,
      watcher);
  watcher.waitForConnected(ClientBase.CONNECTION_TIMEOUT);
  zk.create("/foo", new byte[0], Ids.OPEN_ACL_UNSAFE,
      CreateMode.PERSISTENT);
  zk.close();
}

代码示例来源:origin: apache/zookeeper

private ZooKeeper createClient(QuorumUtil qu, int id, EventsWatcher watcher)
    throws IOException {
  String hostPort = "127.0.0.1:" + qu.getPeer(id).clientPort;
  ZooKeeper zk = new ZooKeeper(hostPort, TIMEOUT, watcher);
  try {
    watcher.waitForConnected(TIMEOUT);
  } catch (InterruptedException e) {
    // ignoring the interrupt
  } catch (TimeoutException e) {
    Assert.fail("can not connect to " + hostPort);
  }
  return zk;
}

代码示例来源:origin: apache/hive

@Override
public void beforeMethod(HiveTestEnvContext ctx) throws Exception {
 int sessionTimeout = (int) ctx.hiveConf.getTimeVar(HiveConf.ConfVars.HIVE_ZOOKEEPER_SESSION_TIMEOUT, TimeUnit.MILLISECONDS);
 zooKeeper = new ZooKeeper("localhost:" + zkPort, sessionTimeout, new Watcher() {
  @Override
  public void process(WatchedEvent arg0) {
  }
 });
 String zkServer = "localhost";
 ctx.hiveConf.set("hive.zookeeper.quorum", zkServer);
 ctx.hiveConf.set("hive.zookeeper.client.port", "" + zkPort);
}

代码示例来源:origin: apache/zookeeper

@Test
  public void testZooKeeperWithCustomHostProvider() throws IOException,
      InterruptedException {
    final int CLIENT_PORT = PortAssignment.unique();
    final HostProvider specialHostProvider = new SpecialHostProvider();
    int expectedCounter = 3;
    counter.set(expectedCounter);

    ZooKeeper zkDefaults = new ZooKeeper("127.0.0.1:" + CLIENT_PORT,
        ClientBase.CONNECTION_TIMEOUT, this, false);

    ZooKeeper zkSpecial = new ZooKeeper("127.0.0.1:" + CLIENT_PORT,
        ClientBase.CONNECTION_TIMEOUT, this, false, specialHostProvider);

    Assert.assertTrue(counter.get() == expectedCounter);
    zkDefaults.updateServerList("127.0.0.1:" + PortAssignment.unique());
    Assert.assertTrue(counter.get() == expectedCounter);

    zkSpecial.updateServerList("127.0.0.1:" + PortAssignment.unique());
    expectedCounter--;
    Assert.assertTrue(counter.get() == expectedCounter);
  }
}

代码示例来源:origin: apache/zookeeper

@Before
public void setUp() throws Exception {
  System.setProperty("zookeeper.admin.enableServer", "false");
  // set the snap count to something low so that we force log rollover
  // and verify that is working as part of the epoch rollover.
  SyncRequestProcessor.setSnapCount(7);
  qu = new QuorumUtil(1);
  startAll();
  for (int i = 0; i < zkClients.length; i++) {
    zkClientWatchers[i] = new CountdownWatcher();
    PeerStruct peer = qu.getPeer(i + 1);
    zkClients[i] = new ZooKeeper(
        "127.0.0.1:" + peer.clientPort,
        ClientTest.CONNECTION_TIMEOUT, zkClientWatchers[i]);
  }
  waitForClientsConnected();
}

相关文章