我正在Amazon EMR上通过YARN运行Flink应用程序,其中有一个主设备和一个从设备。
我试图通过ssh进入主节点,然后访问Flink REST API,但是无法让EMR静态使用同一主机/端口。
我尝试将此配置添加到EMR并从当前主节点的专用DNS中获取主机。每个yarn-session
所运行的实际端口都不同。
[
{
"Classification": "flink-conf",
"Properties": {
"rest.port": "44477",
"jobmanager.web.port": "44477",
"jobmanager.web.upload.dir": "/home/hadoop"
}
}
]
我已经验证了这些属性也反映在flink-conf.yaml文件中。
以下是启动日志的摘录:
2018-09-06 21:34:33,749 INFO org.apache.flink.configuration.GlobalConfiguration - Loading configuration property: env.yarn.conf.dir, /etc/hadoop/conf
2018-09-06 21:34:33,751 INFO org.apache.flink.configuration.GlobalConfiguration - Loading configuration property: env.hadoop.conf.dir, /etc/hadoop/conf
2018-09-06 21:34:33,751 INFO org.apache.flink.configuration.GlobalConfiguration - Loading configuration property: rest.port, 44477
2018-09-06 21:34:33,751 INFO org.apache.flink.configuration.GlobalConfiguration - Loading configuration property: jobmanager.web.port, 44477
Flink JobManager is now running on ip-10-2-3-25.ec2.internal:41161 with leader id 00000000-0000-0000-0000-000000000000.
JobManager Web Interface: http://ip-10-2-3-25.ec2.internal:41161
答案 0 :(得分:1)
我也通过电子邮件发送了Flink邮件列表,发现这是使用YARN(我为EMR设置的)的结果。 YARN忽略Flink配置,因为变量是在运行时设置的,并且可以通过cli命令yarn application -status [appId]
进行访问,其中[appId]
是YARN应用的ID,可通过yarn application -list
找到。>