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 
相关推荐
静听山水1 小时前
Flink处理无界数据流
flink
sf_www1 小时前
Flink on YARN是如何确定TaskManager个数的
大数据·flink
静听山水1 小时前
Flink API 的层次结构
flink
W Y1 天前
【架构-37】Spark和Flink
架构·flink·spark
ycsdn101 天前
Caused by: org.apache.flink.api.common.io.ParseException: Row too short:
大数据·flink
晨航2 天前
Flink本地模式安装详解
大数据·flink
sf_www2 天前
flink 内存配置(五):网络缓存调优
大数据·网络·flink
我的K84092 天前
Flink滑动窗口(Sliding)中window和windowAll的区别
flink
inori12562 天前
FlinkSql读取外部Mysql和HBase数据库的方法(scala)
mysql·flink·hbase
小强签名设计3 天前
Flink CDC 同步 Mysql 数据
大数据·mysql·flink