gpt4 book ai didi

com.spotify.helios.servicescommon.coordination.ZooKeeperClientProvider.get()方法的使用及代码示例

转载 作者:知者 更新时间:2024-03-20 10:08:31 27 4
gpt4 key购买 nike

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

ZooKeeperClientProvider.get介绍

暂无

代码示例

代码示例来源:origin: spotify/helios

private ZooKeeperClient client(final String tag) {
 return provider.get("persistent_directory_" + tag);
}

代码示例来源:origin: spotify/helios

/**
 * Returns the job configuration for the job specified by {@code id} as a
 * {@link Job} object. A return value of null indicates the job doesn't exist.
 */
@Override
public Job getJob(final JobId id) {
 log.debug("getting job: {}", id);
 final ZooKeeperClient client = provider.get("getJobId");
 return getJob(client, id);
}

代码示例来源:origin: spotify/helios

@Override
public AgentInfo getAgentInfo(final String host) {
 return getAgentInfo(provider.get("getAgentInfo"), host);
}

代码示例来源:origin: spotify/helios

/**
 * Undoes the effect of {@link ZooKeeperMasterModel#registerHost(String, String)}.  Cleans up
 * any leftover host-related things.
 */
@Override
public void deregisterHost(final String host)
  throws HostNotFoundException, HostStillInUseException {
 final ZooKeeperClient client = provider.get("deregisterHost");
 ZooKeeperRegistrarUtil.deregisterHost(client, host);
}

代码示例来源:origin: spotify/helios

/**
 * Creates a config entry within the specified agent to un/deploy a job, or more generally, change
 * the deployment status according to the {@code Goal} value in {@link Deployment}.
 */
@Override
public void deployJob(final String host, final Deployment deployment, final String token)
  throws JobDoesNotExistException, JobAlreadyDeployedException, HostNotFoundException,
      JobPortAllocationConflictException, TokenVerificationException {
 final ZooKeeperClient client = provider.get("deployJob");
 deployJobRetry(client, host, deployment, 0, token);
}

代码示例来源:origin: spotify/helios

@Override
public DeploymentGroup getDeploymentGroup(final String name)
  throws DeploymentGroupDoesNotExistException {
 log.debug("getting deployment-group: {}", name);
 final ZooKeeperClient client = provider.get("getDeploymentGroup");
 return getDeploymentGroup(client, name);
}

代码示例来源:origin: spotify/helios

@Override
public Map<String, String> getHostLabels(final String host) {
 final ZooKeeperClient client = provider.get("getHostStatus");
 if (!ZooKeeperRegistrarUtil.isHostRegistered(client, host)) {
  return emptyMap();
 }
 final Map<String, String> labels = getLabels(client, host);
 return labels == null ? emptyMap() : labels;
}

代码示例来源:origin: spotify/helios

@Override
public boolean isHostUp(final String host) {
 final ZooKeeperClient client = provider.get("isHostUp");
 return ZooKeeperRegistrarUtil.isHostRegistered(client, host) && checkHostUp(client, host);
}

代码示例来源:origin: spotify/helios

/**
 * Returns a list of the hosts/agents that have been registered.
 */
@Override
public List<String> listHosts() {
 try {
  // TODO (dano): only return hosts whose agents completed registration (i.e. has id nodes)
  return provider.get("listHosts").getChildren(Paths.configHosts());
 } catch (KeeperException.NoNodeException e) {
  return emptyList();
 } catch (KeeperException e) {
  throw new HeliosRuntimeException("listing hosts failed", e);
 }
}

代码示例来源:origin: spotify/helios

@Override
public List<String> getDeploymentGroupHosts(final String name)
  throws DeploymentGroupDoesNotExistException {
 log.debug("getting deployment group hosts: {}", name);
 final ZooKeeperClient client = provider.get("getDeploymentGroupHosts");
 final DeploymentGroup deploymentGroup = getDeploymentGroup(client, name);
 if (deploymentGroup == null) {
  throw new DeploymentGroupDoesNotExistException(name);
 }
 return getHosts(client, Paths.statusDeploymentGroupHosts(name));
}

代码示例来源:origin: spotify/helios

/**
 * Registers a host into ZooKeeper.  The {@code id} is initially generated randomly by the Agent
 * and persisted on disk.  This way, in the event that you have two agents attempting to register
 * with the same value of @{code host}, the first one will win.
 */
@Override
public void registerHost(final String host, final String id) {
 final ZooKeeperClient client = provider.get("registerHost");
 try {
  ZooKeeperRegistrarUtil.registerHost(client, Paths.configHostId(host), host, id);
 } catch (Exception e) {
  throw new HeliosRuntimeException("registering host " + host + " failed", e);
 }
}

代码示例来源:origin: spotify/helios

/**
 * Returns a list of the host names of the currently running masters.
 */
@Override
public List<String> getRunningMasters() {
 final ZooKeeperClient client = provider.get("getRunningMasters");
 try {
  final List<String> masters = client.getChildren(Paths.statusMaster());
  final ImmutableList.Builder<String> upMasters = ImmutableList.builder();
  for (final String master : masters) {
   if (client.exists(Paths.statusMasterUp(master)) != null) {
    upMasters.add(master);
   }
  }
  return upMasters.build();
 } catch (KeeperException e) {
  throw new HeliosRuntimeException("listing masters failed", e);
 }
}

代码示例来源:origin: spotify/helios

log.debug("getting deployment groups");
final String folder = Paths.configDeploymentGroups();
final ZooKeeperClient client = provider.get("getDeploymentGroups");
try {
 final List<String> names;

代码示例来源:origin: spotify/helios

public ZooKeeperAgentModel(final ZooKeeperClientProvider provider,
              final String host,
              final Path stateDirectory,
              final TaskHistoryWriter historyWriter,
              final List<EventSender> eventSenders,
              final String taskStatusEventTopic)
  throws IOException, InterruptedException {
 // TODO(drewc): we're constructing too many heavyweight things in the ctor, these kinds of
 // things should be passed in/provider'd/etc.
 final ZooKeeperClient client = provider.get("ZooKeeperAgentModel_ctor");
 this.agent = checkNotNull(host);
 final Path taskConfigFile = stateDirectory.resolve(TASK_CONFIG_FILENAME);
 this.tasks = client.pathChildrenCache(Paths.configHostJobs(host), taskConfigFile,
   Json.type(Task.class));
 tasks.addListener(new JobsListener());
 final Path taskStatusFile = stateDirectory.resolve(TASK_STATUS_FILENAME);
 this.taskStatuses = ZooKeeperUpdatingPersistentDirectory.create("agent-model-task-statuses",
   provider,
   taskStatusFile,
   Paths.statusHostJobs(host));
 this.historyWriter = historyWriter;
 this.eventSenders = eventSenders;
 this.taskStatusEventTopic = taskStatusEventTopic;
}

代码示例来源:origin: spotify/helios

log.debug("getting jobs");
final String folder = Paths.configJobs();
final ZooKeeperClient client = provider.get("getJobs");
try {
 final List<String> ids;

代码示例来源:origin: spotify/helios

@Override
public DeploymentGroupStatus getDeploymentGroupStatus(final String name)
  throws DeploymentGroupDoesNotExistException {
 log.debug("getting deployment group status: {}", name);
 final ZooKeeperClient client = provider.get("getDeploymentGroupStatus");
 final DeploymentGroup deploymentGroup = getDeploymentGroup(client, name);
 if (deploymentGroup == null) {
  return null;
 }
 try {
  final Node node = client.getNode(Paths.statusDeploymentGroup(name));
  final byte[] bytes = node.getBytes();
  if (bytes.length == 0) {
   return null;
  }
  return Json.read(bytes, DeploymentGroupStatus.class);
 } catch (NoNodeException e) {
  return null;
 } catch (KeeperException | IOException e) {
  throw new HeliosRuntimeException("getting deployment group status " + name + " failed", e);
 }
}

代码示例来源:origin: spotify/helios

/**
 * Returns the current deployment state of {@code jobId} on {@code host}.
 */
@Override
public Deployment getDeployment(final String host, final JobId jobId) {
 final String path = Paths.configHostJob(host, jobId);
 final ZooKeeperClient client = provider.get("getDeployment");
 try {
  final byte[] data = client.getData(path);
  final Task task = parse(data, Task.class);
  return Deployment.of(jobId, task.getGoal(), task.getDeployerUser(), task.getDeployerMaster(),
    task.getDeploymentGroupName());
 } catch (KeeperException.NoNodeException e) {
  return null;
 } catch (KeeperException | IOException e) {
  throw new HeliosRuntimeException("getting deployment failed", e);
 }
}

代码示例来源:origin: spotify/helios

/**
 * Returns the current status of the host named by {@code host}.
 */
@Override
public HostStatus getHostStatus(final String host) {
 final ZooKeeperClient client = provider.get("getHostStatus");
 if (!ZooKeeperRegistrarUtil.isHostRegistered(client, host)) {
  log.warn("Host {} isn't registered in ZooKeeper.", host);
  return null;
 }
 final boolean up = checkHostUp(client, host);
 final HostInfo hostInfo = getHostInfo(client, host);
 final AgentInfo agentInfo = getAgentInfo(client, host);
 final Map<JobId, Deployment> tasks = getTasks(client, host);
 final Map<JobId, TaskStatus> statuses = getTaskStatuses(client, host);
 final Map<String, String> environment = getEnvironment(client, host);
 final Map<String, String> labels = getLabels(client, host);
 return HostStatus.newBuilder()
   .setJobs(tasks)
   .setStatuses(fromNullable(statuses).or(EMPTY_STATUSES))
   .setHostInfo(hostInfo)
   .setAgentInfo(agentInfo)
   .setStatus(up ? UP : DOWN)
   .setEnvironment(environment)
   .setLabels(labels)
   .build();
}

代码示例来源:origin: spotify/helios

/**
 * Used to update the existing deployment of a job.
 */
@Override
public void updateDeployment(final String host, final Deployment deployment, final String token)
  throws HostNotFoundException, JobNotDeployedException, TokenVerificationException {
 log.info("updating deployment {}: {}", deployment, host);
 final ZooKeeperClient client = provider.get("updateDeployment");
 final JobId jobId = deployment.getJobId();
 final Job job = getJob(client, jobId);
 final Deployment existingDeployment = getDeployment(host, jobId);
 if (job == null) {
  throw new JobNotDeployedException(host, jobId);
 }
 verifyToken(token, job);
 assertHostExists(client, host);
 assertTaskExists(client, host, deployment.getJobId());
 final String path = Paths.configHostJob(host, jobId);
 final Task task = new Task(job, deployment.getGoal(),
   existingDeployment.getDeployerUser(),
   existingDeployment.getDeployerMaster(),
   existingDeployment.getDeploymentGroupName());
 try {
  client.setData(path, task.toJsonBytes());
 } catch (Exception e) {
  throw new HeliosRuntimeException("updating deployment " + deployment
                   + " on host " + host + " failed", e);
 }
}

代码示例来源:origin: spotify/helios

@Test
 public void testRemoveJobDeletesHistory() throws Exception {
  startDefaultAgent(testHost());
  awaitHostStatus(testHost(), UP, LONG_WAIT_SECONDS, SECONDS);

  final JobId jobId = createJob(testJobName, testJobVersion, BUSYBOX, IDLE_COMMAND);

  deployJob(jobId, testHost());
  awaitJobState(
    defaultClient(), testHost(), jobId, TaskStatus.State.RUNNING, LONG_WAIT_SECONDS, SECONDS);
  undeployJob(jobId, testHost());
  awaitJobUndeployed(defaultClient(), testHost(), jobId, LONG_WAIT_SECONDS, SECONDS);

  final ZooKeeperClient zkClient = new ZooKeeperClientProvider(
    new DefaultZooKeeperClient(zk().curatorWithSuperAuth()), ZooKeeperModelReporter.noop())
    .get("test-client");

  // Check that there's some history events
  assertNotNull(zkClient.stat(Paths.historyJob(jobId)));

  // Remove job
  final JobDeleteResponse response =
    defaultClient().deleteJob(jobId).get(WAIT_TIMEOUT_SECONDS, SECONDS);
  assertEquals(JobDeleteResponse.Status.OK, response.getStatus());

  // Verify that history is gone
  assertNull(zkClient.stat(Paths.historyJob(jobId)));
 }
}

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