在Amazon EMR上配置Flink Rest API

时间:2018-09-06 18:54:17

标签: hadoop yarn apache-flink amazon-emr

我正在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

1 个答案:

答案 0 :(得分:1)

我也通过电子邮件发送了Flink邮件列表,发现这是使用YARN(我为EMR设置的)的结果。 YARN忽略Flink配置,因为变量是在运行时设置的,并且可以通过cli命令yarn application -status [appId]进行访问,其中[appId]是YARN应用的ID,可通过yarn application -list找到。