Flink 独立集群部署

独立集群

本文介绍了如何在静态(但可能是异构)群集上以完全分布式方式部署 Flink 集群并运行 Flink 程序。

目录

独立集群

环境准备

Flink 设置

新增 JobManager/TaskManager


环境准备

独立集群部署方式需要 一个 master 节点 和 至少一个 worker 节点,请确认每个节点都安装了以下软件:

  • Java >= 1.8.x
  • ssh (flink 需要用到 sshd 对分布式节点进行控制)

确保所有集群节点之间可互相 SSH免密登录

Flink 设置

前往 Flink 官网 获取 Flink。

确保选择与您的 Hadoop 版本匹配的 Flink 软件包。 如果您不打算使用 Hadoop,可以选择任何版本。本文所选版本为 Flink-1.11

下载完成 Flink 后,复制到每个节点并解压缩,确保 Flink 在每个节点的 存放路径相同

tar xzf flink-*.tgz

通过编辑 conf / flink-conf.yaml 配置 Flink 集群。一般来说,需要根据每台节点的资源情况修改以下配置:

  • jobmanager.rpc.address 指向集群 master 节点;
  • jobmanager.memory.process.size 允许 jobmanager 获取的最大内存,单位 MB;
  • taskmanager.memory.process.size 允许 taskmanager 获取的最大内存,单位 MB;
  • taskmanager.numberOfTaskSlots 节点可用 CPU 数量;
  • parallelism.default 集群可用 CPU 数量,为所有 worker 节点 taskmanager.numberOfTaskSlots 之和;
  • io.tmp.dirs 临时文件存放目录;

更多详细配置项请参见 Flink 配置文档,关于 Flink 内存分配,请参见 Flink 内存分配文档

在集群中选择一个节点作为 master,其余节点规划为 worker。

编辑每台 worker 节点的 conf / workers 文件,将所有 worker 节点的 IP list 或 hostname list 保存其中。

本文利用 3 个节点搭建 Flink 集群,IP 地址分别为 192.168.1.6, 192.168.1.7 和 192.168.1.8,hostname 分别为 ubuntu-01, ubuntu-02, ubuntu-03

选择 192.168.1.6 作为 master 节点,其余两台作为 worker 节点。

登录到 master 节点并切换到 Flink 工作目录,启动 Flink 集群:

bin/start-cluster.sh

  

此时会在 master 节点拉起一个 jobmanager,并通过 SSH 在 workers 配置文件中的每个节点拉起一个 taskmanager。

浏览器打开 Flink 监控页面:192.168.1.6:8081,如果集群启动成功,则会看到集群中的 Available Task Slots 数量信息。

   

现在,master 节点的 jobmanager 会在配置的 RPC 端口(默认为6123)接受作业;

提交一个 Flink 自带的样例程序测试一下,依次点击左侧菜单栏 Submit New Job -> Add New,添加样例程序 flink/examples/streaming/WordCount.jar

  

点击 Submit 按钮提交任务,可以看到任务的执行状态,以及各项监控指标:

  

WordCount 被提交到了其中一个 TaskManager 上执行,单词统计结果已经输出到了控制台:

  

Flink 集群的关闭方式:

bin/stop-cluster.sh

  

新增 JobManager/TaskManager

在新增的节点上执行以下脚本即可完成增加 JobManager/TaskManager

新增 JobManager

bin/jobmanager.sh ((start|start-foreground) [host] [webui-port])|stop|stop-all

新增 TaskManager

bin/taskmanager.sh start|start-foreground|stop|stop-all

如果您在搭建 Flink 集群的过程中遇到了问题,欢迎留言讨论~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值