gpt4 book ai didi

com.liveramp.hank.coordinator.zk.ZooKeeperCoordinator类的使用及代码示例

转载 作者:知者 更新时间:2024-03-13 12:23:25 29 4
gpt4 key购买 nike

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

ZooKeeperCoordinator介绍

[英]An implementation of the Coordinator built on top of the Apache ZooKeeper service. The ZooKeeperCoordinator initially loads all the configuration into local memory for fast reads. It places watches on nodes in the ZooKeeper service so that it is updated when data is changed, so that it can update its local cache and also notify any listeners that are listening on the data. Currently responds to changes in version number for domains and domain groups, as well as the addition or removal of rings. However, the current implementation of ZooKeeperCoordinator will not respond to addition or removal of domains, domain groups, ring groups, or hosts.
[中]构建在Apache ZooKeeper服务之上的协调器实现。ZookePercoordinator最初会将所有配置加载到本地内存中,以便快速读取。它会在ZooKeeper服务中的节点上放置监视,以便在数据更改时对其进行更新,从而可以更新其本地缓存,并通知正在监听数据的任何侦听器。当前响应域和域组版本号的更改,以及环的添加或删除。但是,ZookePercoordinator的当前实现不会响应域、域组、环组或主机的添加或删除。

代码示例

代码示例来源:origin: LiveRamp/hank

@Override
public Coordinator getCoordinator(Map<String, Object> options) {
 LOG.info("Creating Coordinator with options: "+options);
 validateOptions(options);
 try {
  //  TODO temporary until clean upusages
  if(options.containsKey(MAX_CONNECTION_ATTEMPTS_KEY)) {
   return new ZooKeeperCoordinator(
     (String)options.get(CONNECT_STRING_KEY),
     (Integer)options.get(SESSION_TIMEOUT_KEY),
     (String)options.get(DOMAINS_ROOT_KEY),
     (String)options.get(DOMAIN_GROUPS_ROOT_KEY),
     (String)options.get(RING_GROUPS_ROOT_KEY),
     (Integer)options.get(MAX_CONNECTION_ATTEMPTS_KEY));
  }else{
   return new ZooKeeperCoordinator(
     (String)options.get(CONNECT_STRING_KEY),
     (Integer)options.get(SESSION_TIMEOUT_KEY),
     (String)options.get(DOMAINS_ROOT_KEY),
     (String)options.get(DOMAIN_GROUPS_ROOT_KEY),
     (String)options.get(RING_GROUPS_ROOT_KEY));
  }
 } catch (Exception e) {
  throw new RuntimeException("Couldn't make a ZooKeeperCoordinator from options "
    + options, e);
 }
}

代码示例来源:origin: LiveRamp/hank

@Override
public boolean deleteDomainVersion(String domainName, int versionNumber) throws IOException {
 Domain domain = getDomain(domainName);
 if (domain == null) {
  return false;
 }
 return domain.deleteVersion(versionNumber);
}

代码示例来源:origin: LiveRamp/hank

@Override
public SortedSet<DomainGroup> getDomainGroupsSorted() {
 return new TreeSet<DomainGroup>(getDomainGroups());
}

代码示例来源:origin: LiveRamp/hank

@Test
public void testLoad() throws Exception {
 // check standard loading stuff
 assertEquals("number of loaded domain configs", 1, coord.getDomains().size());
 assertEquals("get domain by name", "domain0", coord.getDomain("domain0").getName());
 assertEquals("number of loaded domain group configs", 1, coord.getDomainGroups().size());
 assertEquals("get domain group by name", "myDomainGroup", coord.getDomainGroup("myDomainGroup").getName());
 assertEquals("number of loaded ring groups", 1, coord.getRingGroups().size());
 assertEquals("get ring group by name", "myRingGroup", coord.getRingGroup("myRingGroup").getName());
}

代码示例来源:origin: LiveRamp/hank

@Test
public void testAddDomainGroup() throws Exception {
 // keep a second coordinator aside
 final ZooKeeperCoordinator coord2 = getCoord();
 coord.addDomainGroup("myDomainGroup2");
 DomainGroup c = coord.getDomainGroup("myDomainGroup2");
 assertNotNull(c);
 assertEquals("myDomainGroup2", c.getName());
 assertEquals(0, c.getDomainVersions().size());
 // repeat the assertions with the other coord instance to ensure changes are
 // visible
 WaitUntil.orDie(() -> coord2.getDomainGroup("myDomainGroup2") != null);
 assertNotNull("myDomainGroup2 should be found", c);
 assertEquals("myDomainGroup2", c.getName());
 assertEquals(0, c.getDomainVersions().size());
 coord2.close();
}

代码示例来源:origin: LiveRamp/hank

@Test
public void testGetDomainShallow() {
 assertNotNull(coord.getDomainShallow("domain0"));
 assertEquals(coord.getDomain("domain0"), coord.getDomainShallow("domain0"));
}

代码示例来源:origin: LiveRamp/hank

@Test
public void testDeleteDomain() throws Exception {
 assertNotNull(coord.getDomain("domain0"));
 assertTrue(coord.deleteDomain("domain0"));
 assertNull(coord.getDomain("domain0"));
 assertFalse(coord.deleteDomain("domain0"));
}

代码示例来源:origin: LiveRamp/hank

@Test
public void testAddDomain() throws Exception {
 coord.addDomain("myDomain", 1234, ConstantStorageEngine.Factory.class.getName(), "---", ConstantPartitioner.class.getName(), Collections.emptyList());
 Domain domain = coord.getDomain("myDomain");
 assertEquals(1, domain.getId());
 assertNotNull(domain);
 assertEquals("myDomain", domain.getName());
 assertEquals(1234, domain.getNumParts());
 assertTrue(domain.getStorageEngine() instanceof ConstantStorageEngine);
 assertTrue(domain.getPartitioner() instanceof ConstantPartitioner);
 coord.addDomain("myDomain2", 1234, ConstantStorageEngine.Factory.class.getName(), "---", ConstantPartitioner.class.getName(), Collections.emptyList());
 domain = coord.getDomain("myDomain2");
 assertEquals(2, domain.getId());
 assertNotNull(domain);
 assertEquals("myDomain2", domain.getName());
 assertEquals(1234, domain.getNumParts());
 assertTrue(domain.getStorageEngine() instanceof ConstantStorageEngine);
 assertTrue(domain.getPartitioner() instanceof ConstantPartitioner);
}

代码示例来源:origin: LiveRamp/hank

@Override
public SortedSet<Domain> getDomainsSorted() {
 return new TreeSet<Domain>(getDomains());
}

代码示例来源:origin: LiveRamp/hank

@Override
public RingGroup addRingGroup(String ringGroupName, String domainGroupName) throws IOException {
 try {
  RingGroup rg = ZkRingGroup.create(zk, ZkPath.append(ringGroupsRoot, ringGroupName),
    (ZkDomainGroup)getDomainGroup(domainGroupName), this);
  ringGroups.put(ringGroupName, (ZkRingGroup)rg);
  return rg;
 } catch (Exception e) {
  throw new IOException(e);
 }
}

代码示例来源:origin: LiveRamp/hank

@Test
public void testAddRingGroup() throws Exception {
 DomainGroup dg = coord.addDomainGroup("myDomainGroup2");
 Map<Domain, Integer> domainIdToVersion = new HashMap<>();
 dg.setDomainVersions(domainIdToVersion);
 RingGroup rg = coord.addRingGroup("superDuperRingGroup", "myDomainGroup2");
 assertEquals("superDuperRingGroup", rg.getName());
 assertEquals(0, rg.getRings().size());
}

代码示例来源:origin: LiveRamp/hank

@After
 public void tearDown() throws Exception {
  coord.close();
 }
}

代码示例来源:origin: LiveRamp/hank

@Override
public Domain getDomainById(int domainId) {
 for (Domain domain : getDomains()) {
  if (domain.getId() == domainId) {
   return domain;
  }
 }
 return null;
}

代码示例来源:origin: LiveRamp/hank

@Override
public Domain updateDomain(String domainName,
              int numParts,
              String storageEngineFactoryClassName,
              String storageEngineOptions,
              String partitionerClassName,
              List<String> requiredHostFlags) throws IOException {
 ZkDomain domain = (ZkDomain)getDomain(domainName);
 if (domain == null) {
  throw new IOException("Could not get Domain '" + domainName + "' from Coordinator.");
 } else {
  try {
   domain.update(domain.getId(), numParts, storageEngineFactoryClassName, storageEngineOptions,
     partitionerClassName, requiredHostFlags);
   return domain;
  } catch (Exception e) {
   throw new IOException(e);
  }
 }
}

代码示例来源:origin: LiveRamp/hank

@Override
public boolean deleteDomain(String domainName) throws IOException {
 ZkDomain domain = domains.remove(domainName);
 if (domain == null) {
  return false;
 }
 // remove domain from all domain groups
 for (DomainGroup domainGroup : getDomainGroups()) {
  domainGroup.removeDomain(domain);
 }
 return domain.delete();
}

代码示例来源:origin: LiveRamp/hank

private ZooKeeperCoordinator getCoord() throws Exception {
 return new ZooKeeperCoordinator(getZkConnectString(), 100000000, domains_root, domain_groups_root, ring_groups_root, 5);
}

代码示例来源:origin: LiveRamp/hank

@Override
public Domain getDomainShallow(String domainName) {
 if (domains.isLoaded()) {
  return getDomain(domainName);
 } else {
  try {
   return new ZkDomain(zk, ZkPath.append(domainsRoot, domainName));
  } catch (InterruptedException e) {
   return null;
  } catch (KeeperException e) {
   return null;
  }
 }
}

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