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.102 | 192.168.137.103 | 192.168.137.104 |
---|---|---|---|
角色 | JobManager | TaskManager | TaskManager |
所以需要在另外两个节点上也安装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.103
192.168.137.104
这样就指定了 192.168.137.103
和 192.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]$ jps
13859 Jps
13782 StandaloneSessionClusterEntrypoint
[root@node103 flink-1.13.0]$ jps
12215 Jps
32
33
12124 TaskManagerRunner
[root@node104 flink-1.13.0]$ jps
11602 TaskManagerRunner
11694 Jps
2.5 关闭集群
/app/apps/flink-1.13.0/bin/stop-cluster.sh