从yarn cli获取emr主节点的IP

时间:2019-04-02 19:01:04

标签: bash amazon-web-services sed yarn amazon-emr

为了获得emr从属节点的IP地址列表,必须运行以下代码:

yarn node -list 2>/dev/null \
| sed -n "s/^\(ip[^:]*\):.*/\1/p"

yarn node -list会将主节点的IP打印到stderr

  

19/04/02 18:59:26 INFO client.RMProxy:通过ip-10-1-0-238.ec2.internal / 10.1.0.238:8032连接到ResourceManager

如何修改上面的代码以获取emr主节点的私有IP?

2 个答案:

答案 0 :(得分:1)

您可以使用:

yarn node -list |& sed 's/.*ip-\([^.]*\).*/\1/g'

其中|&2>&1的简写。这将返回:

10-1-0-238

答案 1 :(得分:0)

如果您在Amazon Elastic Map Reduce上运行,它将从作业流JSON对象读取主IP地址,并使用jq解析出来:

jq .masterPrivateDnsName /emr/instance-controller/lib/info/job-flow.json