1、本地启动非集群模式

最简单的启动方式,其实是不搭建集群,直接本地启动。本地部署非常简单,直接解压安装包就可以使用,不用进行任何配置;一般用来做一些简单的测试。
具体安装步骤如下:

1.1 下载安装包

进入 Flink 官网,下载 1.13.0 版本安装包 flink-1.13.0-bin-scala_2.12.tgz,注意此处选用对
应 scala 版本为 scala 2.12 的安装包。

1.2 解压

在 node102 节点服务器上创建安装目录/app/apps/flink,将 flink 安装包放在该目录下,并
执行解压命令,解压至当前目录。
$ tar -zxvf flink-1.13.0-bin-scala_2.12.tgz
……

1.3 配置文件

看到 masters文件内容是localhost:8081,服务启动之后通过此地址可访问flink。

workers文件内容是localhost,表示单节点启动。

1.4 启动

进入解压后的目录,执行启动命令,并查看进程。
$ cd flink-1.13.0/
$ bin/start-cluster.sh
Starting cluster.
Starting standalonesession daemon on host node102.
Starting taskexecutor daemon on host node102.
$ jps
10369 StandaloneSessionClusterEntrypoint
10680 TaskManagerRunner
10717 Jps

1.5 访问 Web UI

启动成功后,访问 http://192.168.137.102:8081,可以对 flink 集群和任务进行监控管理,如图 3-2
所示。

2、集群搭建(会话模式)

Flink 本地启动非常简单,直接执行 start-cluster.sh 就可以了。如果我们想要扩展成集群,其实启动命令是不变的,主要是需要指定节点之间的主从关系。
Flink 是典型的 Master-Slave 架构的分布式数据处理框架,其中 Master 角色对应着JobManager,Slave 角色则对应 TaskManager。我们对三台节点服务器的角色分配如下表所示。

节点服务器192.168.137.102192.168.137.103192.168.137.104
角色JobManagerTaskManagerTaskManager

所以需要在另外两个节点上也安装flink。

2.1 下载并解压安装包

具体操作与上节相同。

2.2 修改集群配置

(1)进入 conf 目录下,修改 flink-conf.yaml 文件,修改 jobmanager.rpc.address 参数为
192.168.137.102,如下所示:

$ cd conf/$ vim flink-conf.yaml# JobManager 节点地址 修改为如下内容jobmanager.rpc.address: 192.168.137.102

这就指定了 192.168.137.102 节点服务器为 JobManager 节点。
(2)修改 workers 文件,将另外两台节点服务器添加为本 Flink 集群的 TaskManager 节点,具体修改如下:

$ vim workers 192.168.137.103192.168.137.104

这样就指定了 192.168.137.103192.168.137.104 为 TaskManager 节点。

(3)另外,在 flink-conf.yaml 文件中还可以对集群中的 JobManager 和 TaskManager 组件进行优化配置,主要配置项如下:

  • jobmanager.memory.process.size:对 JobManager 进程可使用到的全部内存进行配置,包括JVM元空间和其他开销,默认为 1600M,可以根据集群规模进行适当调整。
  • taskmanager.memory.process.size:对 TaskManager 进程可使用到的全部内存进行配置,包括JVM 元空间和其他开销,默认为 1600M,可以根据集群规模进行适当调整。
  • taskmanager.numberOfTaskSlots:对每个 TaskManager 能够分配的 Slot 数量进行配置,默认为 1,可根据 TaskManager 所在的机器能够提供给 Flink 的 CPU 数量决定。所谓Slot 就是TaskManager 中具体运行一个任务所分配的计算资源。
  • parallelism.default:Flink 任务执行的默认并行度,优先级低于代码中进行的并行度配
    置和任务提交时使用参数指定的并行度数量。

2.3 分发安装目录

配置修改完毕后,将 Flink 安装目录发给另外两个节点服务器。

./xsync.sh /app/apps/flink-1.13.0/ node103./xsync.sh /app/apps/flink-1.13.0/ node104

2.4 启动集群

(1)在 node102 节点服务器上执行 start-cluster.sh 启动 Flink 集群:

$ bin/start-cluster.sh # 输出内容Starting cluster.Starting standalonesession daemon on host hadoop102.Starting taskexecutor daemon on host hadoop103.Starting taskexecutor daemon on host hadoop104.

(2)查看进程情况:

[root@node102 flink-1.13.0]$ jps13859 Jps13782 StandaloneSessionClusterEntrypoint[root@node103 flink-1.13.0]$ jps12215 Jps323312124 TaskManagerRunner[root@node104 flink-1.13.0]$ jps11602 TaskManagerRunner11694 Jps

2.5 关闭集群

/app/apps/flink-1.13.0/bin/stop-cluster.sh