如何以编程方式查找使用Dataproc创建的Google群集的外部IP地址?

时间:2016-12-12 19:02:27

标签: java google-cloud-dataproc

当我使用Google的Dataproc创建Compute群集时,如果群集名称为" MyCluster"在项目中," MyProject-107701"然后主集群在内部被识别为" mycluster-m.c.myproject-107701.internal" (不确定" .c"来自哪里,但它是使用nslookup揭示的内容)。在" mycluster-m"上进行nslookup揭示内部ip,但不是外部ip。

我可以在控制台的VM页面上看到外部ID。但是,我不知道如何以编程方式获取它(使用Java - 没有抓取html页面)。

我希望能够创建一个集群,将ip地址返回给外部进程,然后进行连接,但不想使用gsutil进行连接。我该怎么做?是否可以通过Dataproc Java API获取外部IP地址?

1 个答案:

答案 0 :(得分:1)

通过两个API的组合可以实现。第一次调用是通过Dataproc API获取集群的主节点的确定列表。这可以使用clusters.get完成,并从cluster.config.masterConfig.instanceNames中提取主节点名称。

拥有主名称实例名称后,您可以使用计算引擎API get the GCE Instance,并从GCE实例中提取networkInterfaces[0].accessConfig.natIP