gpt4 book ai didi

org.apache.hadoop.hbase.zookeeper.ZKUtil.setData()方法的使用及代码示例

转载 作者:知者 更新时间:2024-03-16 03:18:40 25 4
gpt4 key购买 nike

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

ZKUtil.setData介绍

[英]Sets the data of the existing znode to be the specified data. The node must exist but no checks are done on the existing data or version.

If the node does not exist, a NoNodeException will be thrown.

No watches are set but setting data will trigger other watchers of this node.

If there is another problem, a KeeperException will be thrown.
[中]将现有znode的数据设置为指定的数据。节点必须存在,但不检查现有数据或版本。
如果该节点不存在,则会引发NoNodeException。
未设置手表,但设置数据将触发此节点的其他手表。
如果还有其他问题,将抛出KeeperException。

代码示例

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

/**
 * Sets the data of the existing znode to be the specified data.  The node
 * must exist but no checks are done on the existing data or version.
 *
 * <p>If the node does not exist, a {@link NoNodeException} will be thrown.
 *
 * <p>No watches are set but setting data will trigger other watchers of this
 * node.
 *
 * <p>If there is another problem, a KeeperException will be thrown.
 *
 * @param zkw zk reference
 * @param znode path of node
 * @param data data to set for node
 * @throws KeeperException if unexpected zookeeper exception
 */
public static void setData(ZKWatcher zkw, String znode, byte [] data)
 throws KeeperException, KeeperException.NoNodeException {
 setData(zkw, (SetData)ZKUtilOp.setData(znode, data));
}

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

private static void processSequentially(ZKWatcher zkw, List<ZKUtilOp> ops)
  throws KeeperException, NoNodeException {
 for (ZKUtilOp op : ops) {
  if (op instanceof CreateAndFailSilent) {
   createAndFailSilent(zkw, (CreateAndFailSilent) op);
  } else if (op instanceof DeleteNodeFailSilent) {
   deleteNodeFailSilent(zkw, (DeleteNodeFailSilent) op);
  } else if (op instanceof SetData) {
   setData(zkw, (SetData) op);
  } else {
   throw new UnsupportedOperationException("Unexpected ZKUtilOp type: "
     + op.getClass().getName());
  }
 }
}

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

@Override
public void setPeerState(String peerId, boolean enabled) throws ReplicationException {
 byte[] stateBytes = enabled ? ENABLED_ZNODE_BYTES : DISABLED_ZNODE_BYTES;
 try {
  ZKUtil.setData(zookeeper, getPeerStateNode(peerId), stateBytes);
 } catch (KeeperException e) {
  throw new ReplicationException("Unable to change state of the peer with id=" + peerId, e);
 }
}

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

/**
 * Set data into node creating node if it doesn't yet exist.
 * Does not set watch.
 *
 * @param zkw zk reference
 * @param znode path of node
 * @param data data to set for node
 * @throws KeeperException if a ZooKeeper operation fails
 */
public static void createSetData(final ZKWatcher zkw, final String znode, final byte [] data)
    throws KeeperException {
 if (checkExists(zkw, znode) == -1) {
  ZKUtil.createWithParents(zkw, znode, data);
 } else {
  ZKUtil.setData(zkw, znode, data);
 }
}

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

@Override
public void updatePeerConfig(String peerId, ReplicationPeerConfig peerConfig)
  throws ReplicationException {
 try {
  ZKUtil.setData(this.zookeeper, getPeerNode(peerId),
   ReplicationPeerConfigUtil.toByteArray(peerConfig));
 } catch (KeeperException e) {
  throw new ReplicationException(
   "There was a problem trying to save changes to the " + "replication peer " + peerId, e);
 }
}

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

/**
 * Set the switch on/off
 * @param enabled switch enabled or not?
 * @throws KeeperException keepException will be thrown out
 */
public void setSwitchEnabled(boolean enabled) throws KeeperException {
 byte [] upData = toByteArray(enabled);
 try {
  ZKUtil.setData(watcher, node, upData);
 } catch(KeeperException.NoNodeException nne) {
  ZKUtil.createAndWatch(watcher, node, upData);
 }
 super.nodeDataChanged(node);
}

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

/**
 * Sets the cluster as up.
 * @throws KeeperException unexpected zk exception
 */
public void setClusterUp()
 throws KeeperException {
 byte [] upData = toByteArray();
 try {
  ZKUtil.createAndWatch(watcher, watcher.getZNodePaths().clusterStateZNode, upData);
 } catch(KeeperException.NodeExistsException nee) {
  ZKUtil.setData(watcher, watcher.getZNodePaths().clusterStateZNode, upData);
 }
}

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

private static void setData(ZKWatcher zkw, SetData setData)
 throws KeeperException, KeeperException.NoNodeException {
 SetDataRequest sd = (SetDataRequest)toZooKeeperOp(zkw, setData).toRequestRecord();
 setData(zkw, sd.getPath(), sd.getData(), sd.getVersion());
}

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

/**
 * Set region normalizer on/off
 * @param normalizerOn whether normalizer should be on or off
 * @throws KeeperException if a ZooKeeper operation fails
 */
public void setNormalizerOn(boolean normalizerOn) throws KeeperException {
 byte [] upData = toByteArray(normalizerOn);
 try {
  ZKUtil.setData(watcher, watcher.getZNodePaths().regionNormalizerZNode, upData);
 } catch(KeeperException.NoNodeException nne) {
  ZKUtil.createAndWatch(watcher, watcher.getZNodePaths().regionNormalizerZNode, upData);
 }
 super.nodeDataChanged(watcher.getZNodePaths().regionNormalizerZNode);
}

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

/**
 * Set the balancer on/off.
 *
 * @param balancerOn true if the balancher should be on, false otherwise
 * @throws KeeperException if a ZooKeeper operation fails
 */
public void setBalancerOn(boolean balancerOn) throws KeeperException {
 byte [] upData = toByteArray(balancerOn);
 try {
  ZKUtil.setData(watcher, watcher.getZNodePaths().balancerZNode, upData);
 } catch(KeeperException.NoNodeException nne) {
  ZKUtil.createAndWatch(watcher, watcher.getZNodePaths().balancerZNode, upData);
 }
 super.nodeDataChanged(watcher.getZNodePaths().balancerZNode);
}

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

@Override
 protected Pair<Long, Integer> getLastSequenceIdWithVersion(String encodedRegionName,
   String peerId) throws KeeperException {
  Pair<Long, Integer> oldPair = super.getLastSequenceIdWithVersion(encodedRegionName, peerId);
  if (getLastSeqIdOpIndex < 100) {
   // Let the ZNode version increase.
   String path = getSerialReplicationRegionPeerNode(encodedRegionName, peerId);
   ZKUtil.createWithParents(zookeeper, path);
   ZKUtil.setData(zookeeper, path, ZKUtil.positionToByteArray(100L));
  }
  getLastSeqIdOpIndex++;
  return oldPair;
 }
};

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

@Test
public void testTaskErr() throws Exception {
 LOG.info("TestTaskErr - cleanup task node once in ERR state");
 conf.setInt("hbase.splitlog.max.resubmit", 0);
 slm = new SplitLogManager(master, conf);
 TaskBatch batch = new TaskBatch();
 String tasknode = submitTaskAndWait(batch, "foo/1");
 final ServerName worker1 = ServerName.valueOf("worker1,1,1");
 SplitLogTask slt = new SplitLogTask.Err(worker1);
 ZKUtil.setData(zkw, tasknode, slt.toByteArray());
 synchronized (batch) {
  while (batch.installed != batch.error) {
   batch.wait();
  }
 }
 waitForCounter(tot_mgr_task_deleted, 0, 1, to/2);
 assertTrue(ZKUtil.checkExists(zkw, tasknode) == -1);
 conf.setInt("hbase.splitlog.max.resubmit", ZKSplitLogManagerCoordination.DEFAULT_MAX_RESUBMIT);
}

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

@Test
public void testSetDataWithVersion() throws Exception {
 ZKUtil.createWithParents(ZKW, "/s1/s2/s3");
 int v0 = getZNodeDataVersion("/s1/s2/s3");
 assertEquals(0, v0);
 ZKUtil.setData(ZKW, "/s1/s2/s3", Bytes.toBytes(12L));
 int v1 = getZNodeDataVersion("/s1/s2/s3");
 assertEquals(1, v1);
 ZKUtil.multiOrSequential(ZKW,
  ImmutableList.of(ZKUtilOp.setData("/s1/s2/s3", Bytes.toBytes(13L), v1)), false);
 int v2 = getZNodeDataVersion("/s1/s2/s3");
 assertEquals(2, v2);
}

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

@Test
public void testTaskDone() throws Exception {
 LOG.info("TestTaskDone - cleanup task node once in DONE state");
 slm = new SplitLogManager(master, conf);
 TaskBatch batch = new TaskBatch();
 String tasknode = submitTaskAndWait(batch, "foo/1");
 final ServerName worker1 = ServerName.valueOf("worker1,1,1");
 SplitLogTask slt = new SplitLogTask.Done(worker1);
 ZKUtil.setData(zkw, tasknode, slt.toByteArray());
 synchronized (batch) {
  while (batch.installed != batch.done) {
   batch.wait();
  }
 }
 waitForCounter(tot_mgr_task_deleted, 0, 1, to/2);
 assertTrue(ZKUtil.checkExists(zkw, tasknode) == -1);
}

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

@Test
public void testWorkerCrash() throws Exception {
 slm = new SplitLogManager(master, conf);
 TaskBatch batch = new TaskBatch();
 String tasknode = submitTaskAndWait(batch, "foo/1");
 final ServerName worker1 = ServerName.valueOf("worker1,1,1");
 SplitLogTask slt = new SplitLogTask.Owned(worker1);
 ZKUtil.setData(zkw, tasknode, slt.toByteArray());
 if (tot_mgr_heartbeat.sum() == 0) waitForCounter(tot_mgr_heartbeat, 0, 1, to/2);
 // Not yet resubmitted.
 Assert.assertEquals(0, tot_mgr_resubmit.sum());
 // This server becomes dead
 Mockito.when(sm.isServerOnline(worker1)).thenReturn(false);
 Thread.sleep(1300); // The timeout checker is done every 1000 ms (hardcoded).
 // It has been resubmitted
 Assert.assertEquals(1, tot_mgr_resubmit.sum());
}

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

private void updateZooKeeper(TableState tableState) throws IOException {
 if (tableState == null) {
  return;
 }
 String znode = ZNodePaths.joinZNode(this.master.getZooKeeper().getZNodePaths().tableZNode,
  tableState.getTableName().getNameAsString());
 try {
  // Make sure znode exists.
  if (ZKUtil.checkExists(this.master.getZooKeeper(), znode) == -1) {
   ZKUtil.createAndFailSilent(this.master.getZooKeeper(), znode);
  }
  // Now set newState
  ZooKeeperProtos.DeprecatedTableState.Builder builder =
   ZooKeeperProtos.DeprecatedTableState.newBuilder();
  builder.setState(
   ZooKeeperProtos.DeprecatedTableState.State.valueOf(tableState.getState().toString()));
  byte[] data = ProtobufUtil.prependPBMagic(builder.build().toByteArray());
  ZKUtil.setData(this.master.getZooKeeper(), znode, data);
 } catch (KeeperException e) {
  // Only hbase1 clients suffer if this fails.
  LOG.warn("Failed setting table state to zookeeper mirrored for hbase-1.x clients", e);
 }
}

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

@Test
public void testCleanZNode() throws Exception {
 ZKWatcher zkw = new ZKWatcher(TEST_UTIL.getConfiguration(),
   "testNodeTracker", new TestZKNodeTracker.StubAbortable());
 final ServerName sn = ServerName.valueOf("127.0.0.1:52", 45L);
 ZKUtil.createAndFailSilent(zkw,
   TEST_UTIL.getConfiguration().get(HConstants.ZOOKEEPER_ZNODE_PARENT,
     HConstants.DEFAULT_ZOOKEEPER_ZNODE_PARENT));
 final String nodeName =  zkw.getZNodePaths().masterAddressZNode;
 // Check that we manage the case when there is no data
 ZKUtil.createAndFailSilent(zkw, nodeName);
 MasterAddressTracker.deleteIfEquals(zkw, sn.toString());
 assertNotNull(ZKUtil.getData(zkw, nodeName));
 // Check that we don't delete if we're not supposed to
 ZKUtil.setData(zkw, nodeName, MasterAddressTracker.toByteArray(sn, 0));
 MasterAddressTracker.deleteIfEquals(zkw, ServerName.valueOf("127.0.0.2:52", 45L).toString());
 assertNotNull(ZKUtil.getData(zkw, nodeName));
 // Check that we delete when we're supposed to
 ZKUtil.setData(zkw, nodeName,MasterAddressTracker.toByteArray(sn, 0));
 MasterAddressTracker.deleteIfEquals(zkw, sn.toString());
 assertNull(ZKUtil.getData(zkw, nodeName));
 // Check that we support the case when the znode does not exist
 MasterAddressTracker.deleteIfEquals(zkw, sn.toString()); // must not throw an exception
}

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

@Test
public void testDeadWorker() throws Exception {
 LOG.info("testDeadWorker");
 conf.setLong("hbase.splitlog.max.resubmit", 0);
 slm = new SplitLogManager(master, conf);
 TaskBatch batch = new TaskBatch();
 String tasknode = submitTaskAndWait(batch, "foo/1");
 int version = ZKUtil.checkExists(zkw, tasknode);
 final ServerName worker1 = ServerName.valueOf("worker1,1,1");
 SplitLogTask slt = new SplitLogTask.Owned(worker1);
 ZKUtil.setData(zkw, tasknode, slt.toByteArray());
 if (tot_mgr_heartbeat.sum() == 0) waitForCounter(tot_mgr_heartbeat, 0, 1, to/2);
 slm.handleDeadWorker(worker1);
 if (tot_mgr_resubmit.sum() == 0) waitForCounter(tot_mgr_resubmit, 0, 1, to+to/2);
 if (tot_mgr_resubmit_dead_server_task.sum() == 0) {
  waitForCounter(tot_mgr_resubmit_dead_server_task, 0, 1, to + to/2);
 }
 int version1 = ZKUtil.checkExists(zkw, tasknode);
 assertTrue(version1 > version);
 byte[] taskstate = ZKUtil.getData(zkw, tasknode);
 slt = SplitLogTask.parseFrom(taskstate);
 assertTrue(slt.isUnassigned(master.getServerName()));
 return;
}

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

@Test
public void testRescanCleanup() throws Exception {
 LOG.info("TestRescanCleanup - ensure RESCAN nodes are cleaned up");
 slm = new SplitLogManager(master, conf);
 TaskBatch batch = new TaskBatch();
 String tasknode = submitTaskAndWait(batch, "foo/1");
 int version = ZKUtil.checkExists(zkw, tasknode);
 final ServerName worker1 = ServerName.valueOf("worker1,1,1");
 SplitLogTask slt = new SplitLogTask.Owned(worker1);
 ZKUtil.setData(zkw, tasknode, slt.toByteArray());
 waitForCounter(tot_mgr_heartbeat, 0, 1, to/2);
 waitForCounter(new Expr() {
  @Override
  public long eval() {
   return (tot_mgr_resubmit.sum() + tot_mgr_resubmit_failed.sum());
  }
 }, 0, 1, 5*60000); // wait long enough
 Assert.assertEquals("Could not run test. Lost ZK connection?", 0, tot_mgr_resubmit_failed.sum());
 int version1 = ZKUtil.checkExists(zkw, tasknode);
 assertTrue(version1 > version);
 byte[] taskstate = ZKUtil.getData(zkw, tasknode);
 slt = SplitLogTask.parseFrom(taskstate);
 assertTrue(slt.isUnassigned(master.getServerName()));
 waitForCounter(tot_mgr_rescan_deleted, 0, 1, to/2);
}

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

@Test
public void testTaskResigned() throws Exception {
 LOG.info("TestTaskResigned - resubmit task node once in RESIGNED state");
 assertEquals(0, tot_mgr_resubmit.sum());
 slm = new SplitLogManager(master, conf);
 assertEquals(0, tot_mgr_resubmit.sum());
 TaskBatch batch = new TaskBatch();
 String tasknode = submitTaskAndWait(batch, "foo/1");
 assertEquals(0, tot_mgr_resubmit.sum());
 final ServerName worker1 = ServerName.valueOf("worker1,1,1");
 assertEquals(0, tot_mgr_resubmit.sum());
 SplitLogTask slt = new SplitLogTask.Resigned(worker1);
 assertEquals(0, tot_mgr_resubmit.sum());
 ZKUtil.setData(zkw, tasknode, slt.toByteArray());
 ZKUtil.checkExists(zkw, tasknode);
 // Could be small race here.
 if (tot_mgr_resubmit.sum() == 0) {
  waitForCounter(tot_mgr_resubmit, 0, 1, to/2);
 }
 assertEquals(1, tot_mgr_resubmit.sum());
 byte[] taskstate = ZKUtil.getData(zkw, tasknode);
 slt = SplitLogTask.parseFrom(taskstate);
 assertTrue(slt.isUnassigned(master.getServerName()));
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com