flink1.13环境搭建

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.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]$ 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 
相关推荐
Hello.Reader12 小时前
在 Flink Standalone 集群上运行 Flink CDC从下载到跑起一个 MySQL→Doris 同步任务
大数据·mysql·flink
A尘埃18 小时前
Flink实时数据处理
大数据·flink·实时数据处理
expect7g1 天前
Paimon源码解读 -- PartialUpdateMerge
大数据·后端·flink
yumgpkpm1 天前
腾讯云TBDS与CDH迁移常见问题有哪些?建议由CDH迁移到CMP 7.13 平台(类Cloudera CDP,如华为鲲鹏 ARM 版)
hive·hadoop·zookeeper·flink·spark·kafka·hbase
Hello.Reader1 天前
使用 Flink CDC 搭建跨库 Streaming ETLMySQL + Postgres → Elasticsearch 实战
大数据·elasticsearch·flink
❀͜͡傀儡师2 天前
docker 部署Flink和传统部署
docker·容器·flink
Linux Huang3 天前
【Dinky】IDEA运行出现HistoryServer异常
java·hadoop·flink·intellij idea
渣渣盟3 天前
Flink分布式文件Sink实战解析
分布式·flink·scala·1024程序员节
c***72743 天前
SpringBoot集成Flink-CDC,实现对数据库数据的监听
数据库·spring boot·flink
Hello.Reader3 天前
Flink CDC 用 Oracle CDC 实时同步数据到 Elasticsearch
elasticsearch·oracle·flink