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

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

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

ZKUtil.deleteNode介绍

[英]Delete the specified node. Sets no watches. Throws all exceptions.
[中]删除指定的节点。没有手表。抛出所有异常。

代码示例

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

  1. /**
  2. * Delete the specified node. Sets no watches. Throws all exceptions.
  3. */
  4. public static void deleteNode(ZKWatcher zkw, String node)
  5. throws KeeperException {
  6. deleteNode(zkw, node, -1);
  7. }

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

  1. /**
  2. * Create a bunch of znodes in a hierarchy, try deleting one that has childs (it will fail), then
  3. * delete it recursively, then delete the last znode
  4. */
  5. @Test
  6. public void testZNodeDeletes() throws Exception {
  7. ZKUtil.createWithParents(ZKW, "/l1/l2/l3/l4");
  8. try {
  9. ZKUtil.deleteNode(ZKW, "/l1/l2");
  10. fail("We should not be able to delete if znode has childs");
  11. } catch (KeeperException ex) {
  12. assertNotNull(ZKUtil.getDataNoWatch(ZKW, "/l1/l2/l3/l4", null));
  13. }
  14. ZKUtil.deleteNodeRecursively(ZKW, "/l1/l2");
  15. // make sure it really is deleted
  16. assertNull(ZKUtil.getDataNoWatch(ZKW, "/l1/l2/l3/l4", null));
  17. // do the same delete again and make sure it doesn't crash
  18. ZKUtil.deleteNodeRecursively(ZKW, "/l1/l2");
  19. ZKUtil.deleteNode(ZKW, "/l1");
  20. assertNull(ZKUtil.getDataNoWatch(ZKW, "/l1/l2", null));
  21. }

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

  1. private void deleteMyEphemeralNode() throws KeeperException {
  2. ZKUtil.deleteNode(this.zooKeeper, getMyEphemeralNodePath());
  3. }

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

  1. public static void deleteMetaLocation(ZKWatcher zookeeper, int replicaId)
  2. throws KeeperException {
  3. if (replicaId == RegionInfo.DEFAULT_REPLICA_ID) {
  4. LOG.info("Deleting hbase:meta region location in ZooKeeper");
  5. } else {
  6. LOG.info("Deleting hbase:meta for " + replicaId + " region location in ZooKeeper");
  7. }
  8. try {
  9. // Just delete the node. Don't need any watches.
  10. ZKUtil.deleteNode(zookeeper, zookeeper.getZNodePaths().getZNodeForReplica(replicaId));
  11. } catch(KeeperException.NoNodeException nne) {
  12. // Has already been deleted
  13. }
  14. }
  15. /**

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

  1. /**
  2. * Sets the cluster as down by deleting the znode.
  3. * @throws KeeperException unexpected zk exception
  4. */
  5. public void setClusterDown()
  6. throws KeeperException {
  7. try {
  8. ZKUtil.deleteNode(watcher, watcher.getZNodePaths().clusterStateZNode);
  9. } catch(KeeperException.NoNodeException nne) {
  10. LOG.warn("Attempted to set cluster as down but already down, cluster " +
  11. "state node (" + watcher.getZNodePaths().clusterStateZNode + ") not found");
  12. }
  13. }

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

  1. private void cleanupHbckZnode() {
  2. try {
  3. if (zkw != null && hbckZodeCreated) {
  4. ZKUtil.deleteNode(zkw, hbckEphemeralNodePath);
  5. hbckZodeCreated = false;
  6. }
  7. } catch (KeeperException e) {
  8. // Ignore
  9. if (!e.code().equals(KeeperException.Code.NONODE)) {
  10. LOG.warn("Delete HBCK znode " + hbckEphemeralNodePath + " failed ", e);
  11. }
  12. }
  13. }

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

  1. @Override
  2. public void removeWAL(ServerName serverName, String queueId, String fileName)
  3. throws ReplicationException {
  4. String fileNode = getFileNode(serverName, queueId, fileName);
  5. try {
  6. ZKUtil.deleteNode(zookeeper, fileNode);
  7. } catch (NoNodeException e) {
  8. LOG.warn("{} already deleted when removing log", fileNode);
  9. } catch (KeeperException e) {
  10. throw new ReplicationException("Failed to remove wal from queue (serverName=" + serverName +
  11. ", queueId=" + queueId + ", fileName=" + fileName + ")", e);
  12. }
  13. }

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

  1. if (znode.endsWith(suffix)) {
  2. sb.append(ZNodePaths.ZNODE_PATH_SEPARATOR).append(znode);
  3. ZKUtil.deleteNode(zookeeper, sb.toString());
  4. sb.setLength(levelTwoLength);

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

  1. /***
  2. * Delete the acl notify node of namespace
  3. */
  4. public void deleteNamespaceACLNode(final String namespace) {
  5. String zkNode = ZNodePaths.joinZNode(watcher.getZNodePaths().baseZNode, ACL_NODE);
  6. zkNode = ZNodePaths.joinZNode(zkNode, AccessControlLists.NAMESPACE_PREFIX + namespace);
  7. try {
  8. ZKUtil.deleteNode(watcher, zkNode);
  9. } catch (KeeperException.NoNodeException e) {
  10. LOG.warn("No acl notify node of namespace '" + namespace + "'");
  11. } catch (KeeperException e) {
  12. LOG.error("Failed deleting acl node of namespace '" + namespace + "'", e);
  13. watcher.abort("Failed deleting node " + zkNode, e);
  14. }
  15. }
  16. }

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

  1. /***
  2. * Delete the acl notify node of table
  3. * @param tableName
  4. */
  5. public void deleteTableACLNode(final TableName tableName) {
  6. String zkNode = ZNodePaths.joinZNode(watcher.getZNodePaths().baseZNode, ACL_NODE);
  7. zkNode = ZNodePaths.joinZNode(zkNode, tableName.getNameAsString());
  8. try {
  9. ZKUtil.deleteNode(watcher, zkNode);
  10. } catch (KeeperException.NoNodeException e) {
  11. LOG.warn("No acl notify node of table '" + tableName + "'");
  12. } catch (KeeperException e) {
  13. LOG.error("Failed deleting acl node of table '" + tableName + "'", e);
  14. watcher.abort("Failed deleting node " + zkNode, e);
  15. }
  16. }

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

  1. public void removeKeyFromZK(AuthenticationKey key) {
  2. String keyZNode = getKeyNode(key.getKeyId());
  3. try {
  4. ZKUtil.deleteNode(watcher, keyZNode);
  5. } catch (KeeperException.NoNodeException nne) {
  6. LOG.error("Non-existent znode "+keyZNode+" for key "+key.getKeyId(), nne);
  7. } catch (KeeperException ke) {
  8. LOG.error(HBaseMarkers.FATAL, "Failed removing znode "+keyZNode+" for key "+
  9. key.getKeyId(), ke);
  10. watcher.abort("Unhandled zookeeper error removing znode "+keyZNode+
  11. " for key "+key.getKeyId(), ke);
  12. }
  13. }

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

  1. /**
  2. * delete the master znode if its content is same as the parameter
  3. * @param zkw must not be null
  4. * @param content must not be null
  5. */
  6. public static boolean deleteIfEquals(ZKWatcher zkw, final String content) {
  7. if (content == null){
  8. throw new IllegalArgumentException("Content must not be null");
  9. }
  10. try {
  11. Stat stat = new Stat();
  12. byte[] data = ZKUtil.getDataNoWatch(zkw, zkw.getZNodePaths().masterAddressZNode, stat);
  13. ServerName sn = ProtobufUtil.parseServerNameFrom(data);
  14. if (sn != null && content.equals(sn.toString())) {
  15. return (ZKUtil.deleteNode(zkw, zkw.getZNodePaths().masterAddressZNode, stat.getVersion()));
  16. }
  17. } catch (KeeperException e) {
  18. LOG.warn("Can't get or delete the master znode", e);
  19. } catch (DeserializationException e) {
  20. LOG.warn("Can't get or delete the master znode", e);
  21. }
  22. return false;
  23. }
  24. }

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

  1. public void stop() {
  2. try {
  3. synchronized (clusterHasActiveMaster) {
  4. // Master is already stopped, wake up the manager
  5. // thread so that it can shutdown soon.
  6. clusterHasActiveMaster.notifyAll();
  7. }
  8. // If our address is in ZK, delete it on our way out
  9. ServerName activeMaster = null;
  10. try {
  11. activeMaster = MasterAddressTracker.getMasterAddress(this.watcher);
  12. } catch (IOException e) {
  13. LOG.warn("Failed get of master address: " + e.toString());
  14. }
  15. if (activeMaster != null && activeMaster.equals(this.sn)) {
  16. ZKUtil.deleteNode(watcher, watcher.getZNodePaths().masterAddressZNode);
  17. // We may have failed to delete the znode at the previous step, but
  18. // we delete the file anyway: a second attempt to delete the znode is likely to fail again.
  19. ZNodeClearer.deleteMyEphemeralNodeOnDisk();
  20. }
  21. } catch (KeeperException e) {
  22. LOG.debug(this.watcher.prefix("Failed delete of our master address node; " +
  23. e.getMessage()));
  24. }
  25. }
  26. }

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

  1. private void unassignMetaReplica(HbckInfo hi) throws IOException, InterruptedException,
  2. KeeperException {
  3. undeployRegions(hi);
  4. ZKUtil.deleteNode(zkw, zkw.getZNodePaths().getZNodeForReplica(hi.metaEntry.getReplicaId()));
  5. }

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

  1. private void unassignExcessMetaReplica(int numMetaReplicasConfigured) {
  2. final ZKWatcher zooKeeper = master.getZooKeeper();
  3. // unassign the unneeded replicas (for e.g., if the previous master was configured
  4. // with a replication of 3 and now it is 2, we need to unassign the 1 unneeded replica)
  5. try {
  6. List<String> metaReplicaZnodes = zooKeeper.getMetaReplicaNodes();
  7. for (String metaReplicaZnode : metaReplicaZnodes) {
  8. int replicaId = zooKeeper.getZNodePaths().getMetaReplicaIdFromZnode(metaReplicaZnode);
  9. if (replicaId >= numMetaReplicasConfigured) {
  10. RegionState r = MetaTableLocator.getMetaRegionState(zooKeeper, replicaId);
  11. LOG.info("Closing excess replica of meta region " + r.getRegion());
  12. // send a close and wait for a max of 30 seconds
  13. ServerManager.closeRegionSilentlyAndWait(master.getClusterConnection(),
  14. r.getServerName(), r.getRegion(), 30000);
  15. ZKUtil.deleteNode(zooKeeper, zooKeeper.getZNodePaths().getZNodeForReplica(replicaId));
  16. }
  17. }
  18. } catch (Exception ex) {
  19. // ignore the exception since we don't want the master to be wedged due to potential
  20. // issues in the cleanup of the extra regions. We can do that cleanup via hbck or manually
  21. LOG.warn("Ignoring exception " + ex);
  22. }
  23. }
  24. }

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

  1. @Test
  2. public void testRegionServerRemovedEvent() throws Exception {
  3. ZKUtil.createAndWatch(zkw,
  4. ZNodePaths.joinZNode(zkw.getZNodePaths().rsZNode, "hostname2.example.org:1234"),
  5. HConstants.EMPTY_BYTE_ARRAY);
  6. rt.registerListener(new DummyReplicationListener());
  7. // delete one
  8. ZKUtil.deleteNode(zkw,
  9. ZNodePaths.joinZNode(zkw.getZNodePaths().rsZNode, "hostname2.example.org:1234"));
  10. // wait for event
  11. while (rsRemovedCount.get() < 1) {
  12. Thread.sleep(5);
  13. }
  14. assertEquals("hostname2.example.org:1234", rsRemovedData);
  15. }

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

  1. @Test
  2. public void testGetListOfRegionServers() throws Exception {
  3. // 0 region servers
  4. assertEquals(0, rt.getListOfRegionServers().size());
  5. // 1 region server
  6. ZKUtil.createWithParents(zkw,
  7. ZNodePaths.joinZNode(zkw.getZNodePaths().rsZNode, "hostname1.example.org:1234"));
  8. assertEquals(1, rt.getListOfRegionServers().size());
  9. // 2 region servers
  10. ZKUtil.createWithParents(zkw,
  11. ZNodePaths.joinZNode(zkw.getZNodePaths().rsZNode, "hostname2.example.org:1234"));
  12. assertEquals(2, rt.getListOfRegionServers().size());
  13. // 1 region server
  14. ZKUtil.deleteNode(zkw,
  15. ZNodePaths.joinZNode(zkw.getZNodePaths().rsZNode, "hostname2.example.org:1234"));
  16. assertEquals(1, rt.getListOfRegionServers().size());
  17. // 0 region server
  18. ZKUtil.deleteNode(zkw,
  19. ZNodePaths.joinZNode(zkw.getZNodePaths().rsZNode, "hostname1.example.org:1234"));
  20. assertEquals(0, rt.getListOfRegionServers().size());
  21. }

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

  1. "testActiveMasterManagerFromZK", null, true);
  2. try {
  3. ZKUtil.deleteNode(zk, zk.getZNodePaths().masterAddressZNode);
  4. ZKUtil.deleteNode(zk, zk.getZNodePaths().clusterStateZNode);
  5. } catch(KeeperException.NoNodeException nne) {}

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

  1. ZKUtil.deleteNode(UTIL.getZooKeeperWatcher(), STORAGE.getSyncReplicationStateNode(peerId));
  2. ZKUtil.deleteNode(UTIL.getZooKeeperWatcher(), STORAGE.getNewSyncReplicationStateNode(peerId));

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

  1. @Ignore @Test // The close silently doesn't work any more since HBASE-14614. Fix.
  2. public void testHBaseFsckWithFewerMetaReplicaZnodes() throws Exception {
  3. ClusterConnection c = (ClusterConnection)ConnectionFactory.createConnection(
  4. TEST_UTIL.getConfiguration());
  5. RegionLocations rl = c.locateRegion(TableName.META_TABLE_NAME, HConstants.EMPTY_START_ROW,
  6. false, false);
  7. HBaseFsckRepair.closeRegionSilentlyAndWait(c,
  8. rl.getRegionLocation(2).getServerName(), rl.getRegionLocation(2).getRegionInfo());
  9. ZKWatcher zkw = TEST_UTIL.getZooKeeperWatcher();
  10. ZKUtil.deleteNode(zkw, zkw.getZNodePaths().getZNodeForReplica(2));
  11. // check that problem exists
  12. HBaseFsck hbck = doFsck(TEST_UTIL.getConfiguration(), false);
  13. assertErrors(hbck, new ERROR_CODE[]{ERROR_CODE.UNKNOWN,ERROR_CODE.NO_META_REGION});
  14. // fix the problem
  15. hbck = doFsck(TEST_UTIL.getConfiguration(), true);
  16. // run hbck again to make sure we don't see any errors
  17. hbck = doFsck(TEST_UTIL.getConfiguration(), false);
  18. assertErrors(hbck, new ERROR_CODE[]{});
  19. }

相关文章