gpt4 book ai didi

java - 从 ID Amazon EMR 获取集群对象

转载 作者:可可西里 更新时间:2023-11-01 14:53:55 27 4
gpt4 key购买 nike

我通过 GUI 屏幕启动了一个 EMR 集群。集群启动后,我可以看到 ID。如何获取表示具有该 ID 的集群的类 Cluster 的对象?我正在使用 Java 与 EMR 交互。

最佳答案

您不能只运行一条命令来获取集群的身份。以下是读取所有故障集群 ID 的算法的工作示例。

AWSCredentials credentials;
credentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");

AmazonElasticMapReduceClient emrClient;
emrClient = new AmazonElasticMapReduceClient(credentials);
emrClient.setEndpoint("elasticmapreduce.eu-west-1.amazonaws.com");

ListClustersRequest req;
req = new ListClustersRequest().withClusterStates(ClusterState.TERMINATED_WITH_ERRORS);

ListClustersResult res;
res = emrClient.listClusters(req);

int size = res.getClusters().size();

System.out.println("***************** CLUSTER LIST ***************");
System.out.println("*** Size: " + size);

for(int i = 0 ; i < size; i++){
String clusterID = res.getClusters().get(i).getId();
System.out.println(">>> Cluster: " + clusterID);
}

注意以下步骤:

  • 生成 EMR 客户端以使用您自己的凭据访问 Amazon 的服务
  • 创建一个指示状态过滤器的集群请求(存在其他几个过滤器)
  • 获取所选集群的实际列表
  • 在 for 循环中获取每个簇的 ID

根据您的具体问题,恐怕无法获得集群的实际对象。相反,API 允许获取具体集群的信息摘要(在上面提供的代码中使用)。但是,您仍然可以发出诸如终止集群之类的命令,例如:

clusterId  //Defined in the code above

TerminateJobFlowsRequest terminate;
terminate = new TerminateJobFlowsRequest().withJobFlowIds(Arrays.asList(new String[] {clusterId});

emrClient.terminateJobFlows(terminate);

关于java - 从 ID Amazon EMR 获取集群对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24875577/

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