为了获得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?
答案 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