本小节主要介绍如何快速使用 Flink 组件运行 wordcount 作业。

前提条件

  • 已获取管理控制台登录账号和密码,且已获取集群操作权限。

  • 已创建 QingMR 集群,且集群状态为活跃

  • 已打通集群网络,使集群云服务器能面向互联网提供服务。例如使用端口转发或 VPN 等方式打通网络,详细操作请参见访问组件 Web 页面

QingMR 中的 Flink 以 Flink on YARN 模式运行,可以创建 Flink YARN Session ( Flink Cluster on YARN ),以及在 YARN 上运行 Standalone Flink job。

创建 Flink YARN Session 会在 YARN 中创建一个常驻的 Flink 集群,用户可以向此 Flink 集群提交 job。 此 Flink 集群占用的资源不会被其他 Flink 集群或者 YARN 管理的其他组件占用。

  1. 创建 Flink YARN Session。

    在 Client 节点上执行以下命令,创建一个有拥有 3 个 TaskManager 的 Session,每个 TaskManager 分配 1,024M 内存,每个 TaskManager 有 1 个 slots,Session 以 detached 模式运行。关于 yarn-session.sh 脚本的详细说明,请参见 Flink 使用指南

    cd /opt/flink/
    ./bin/yarn-session.sh -n 3 -tm 1024 -s 1 -d

    Flink YARN Session 启动成功后,会打印 JobManager 地址,如下所示。

    JobManager Web Interface: http://i-0niswdgh:44000
    说明
    • 请记住该地址,执行 Flink job 后,您可以通过该地址打开 Flink YARN Session WEB UI 界面,查看任务运行情况。

    • 您可以手动将 i-0niswdgh 替换为服务器的 IP 地址,或将 Client 节点的 hosts(路径:/etc/hosts)配置到本地 PC。

  2. 向 Flink YARN Session 提交 job。

    重新打开一个 Client 命令行窗口,并执行以下命令,运行 WordCount。

    cd /opt/flink/
    ./bin/flink run -m i-0niswdgh:44000 /opt/flink/examples/batch/WordCount.jar --input /

您可以直接在 YARN 上运行 Standalone Flink job,不需要提前启动 Flink 集群。 多个 Flink job 共同运行时不会相互影响。

在 Client 节点上执行以下命令,运行 WordCount。

cd /opt/flink/
./bin/flink run -m yarn-cluster ./examples/batch/WordCount.jar

QingMR 2.5.0 及之后版本才支持通过浏览器查看 Flink 作业信息。

对于在 session 中提交的 job,您可以通过 Flink YARN Session WEB UI 方式查看作业信息。Flink YARN Session WEB UI 展示的是此 Session 正在运行的 job 和 1 小时内的已完成 job。

在浏览器输入 “http://<JobManager-Web-Interface>”,即可查看 Flink YARN Session WEB UI。

说明

JobManager-Web-Interface 为 JobManager 地址,详见创建 Flink YARN Session

Flink session WEB UI

也可以通过此 WEB UI 向 Flink YARN Session 提交 job。

Flink historyserver WEB UI 展示的是已完成 job 信息,包括向 Flink YARN Session 提交的 job 和 Standalone Flink job。

在浏览器输入“http://<HDFS 主节点 IP>:8082”,即可查看 Flink YARN Session WEB UI。

Flink historyserver WEB UI