in aws-blog-hbase-on-emr/hbase-connector/src/main/java/com/amazonaws/hbase/kinesis/utils/EMRUtils.java [137:162]
public static boolean clusterExists(AmazonElasticMapReduce client, String clusterIdentifier) {
if (clusterIdentifier != null && !clusterIdentifier.isEmpty()) {
ListClustersResult clustersList = client.listClusters();
ListIterator<ClusterSummary> iterator = clustersList.getClusters().listIterator();
ClusterSummary summary;
for (summary = iterator.next() ; iterator.hasNext();summary = iterator.next()) {
if (summary.getId().equals(clusterIdentifier)) {
DescribeClusterRequest describeClusterRequest = new DescribeClusterRequest().withClusterId(clusterIdentifier);
DescribeClusterResult result = client.describeCluster(describeClusterRequest);
if (result != null) {
Cluster cluster = result.getCluster();
//check if HBase is installed on this cluster
if (isHBaseInstalled(client, cluster.getId())) return false;
String state = cluster.getStatus().getState();
LOG.info(clusterIdentifier + " is " + state + ". ");
if (state.equalsIgnoreCase("RUNNING") ||state.equalsIgnoreCase("WAITING")) {
LOG.info("The cluster with id " + clusterIdentifier + " exists and is " + state);
return true;
}
}
}
}
}
LOG.info("The cluster with id " + clusterIdentifier + " does not exist");
return false;
}