千家信息网

二、flink--集群环境搭建

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,一、Flink环境搭建1.1 flink部署方式Flink可以选择的部署方式有:Local、Standalone(资源利用率低)、Yarn、Mesos、Docker、Kubernetes、AWS。我们
千家信息网最后更新 2026年11月02日二、flink--集群环境搭建

一、Flink环境搭建

1.1 flink部署方式

Flink可以选择的部署方式有:
Local、Standalone(资源利用率低)、Yarn、Mesos、Docker、Kubernetes、AWS。
我们主要对Standalone模式和Yarn模式下的Flink集群部署进行分析。
Standalone模式常用于单机进行程序测试,Yarn模式常用于实际线上生产环境。

1.2 集群规划

1、集群规划

节点名称master(jobManager)worker(taskManager)zookeeper
bigdata11√√
bigdata21√√√
bigdata31√√

(注:zookeeper只是用于实现master HA的必要组件,如果不需要master HA,则zookeeper可以去掉。)

2、软件版本

jdk1.8
scala2.11.8
hadoop2.8
zookeeper3.4.10
flink1.6.1

3、基础环境
安装好jdk、scala、hadoop(hdfs+yarn都要部署好)、zookeeper,部署方法看之前的相关文章。而且要注意的是,节点之间要配置好ssh秘钥免登陆。

1.3 Standalone模式安装

1、解压程序:

tar -zxvf flink-1.6.1-bin-hadoop28-scala_2.11.tgz -C /opt/module/修改配置文件

2、修改配置文件

配置master节点地址:[root@bigdata11 conf]$ sudo vi mastersbigdata11:8081配置worker节点地址:[root@bigdata11 conf]$ sudo vi slavesbigdata12bigdata13修改flink工作参数:[root@bigdata11 conf]$ sudo vi flink-conf.yaml taskmanager.numberOfTaskSlots:2   //52行jobmanager.rpc.address: bigdata11  //33行  指定jobmanager 的rpc地址可选配置:•每个JobManager(jobmanager.heap.mb)的可用内存量,•每个TaskManager(taskmanager.heap.mb)的可用内存量,•每台机器(taskManager)的可用的slot数量(taskmanager.numberOfTaskSlots),•每个job的并行度(parallelism.default)•临时目录(taskmanager.tmp.dirs)

3、配置环境变量

vim /etc/profile.d/flink.shexport FLINK_HOME=/opt/module/flink-1.6.1export PATH=$PATH:$FLINK_HOME/bin然后source /etc/profile.d/flink.sh 启用环境变量

4、拷贝配置好的/opt/module/flink-1.6.1到其他节点
使用scp或者rsync

scp -r /opt/module/flink-1.6.1 bigdata12:`pwd`scp -r /opt/module/flink-1.6.1 bigdata13:`pwd`

同时配置好其他两台的环境变量

5、启动flink集群

[root@bigdata11 flink-1.6.1]$ ./bin/start-cluster.sh Starting cluster.Starting standalonesession daemon on host bigdata11.Starting taskexecutor daemon on host bigdata12.Starting taskexecutor daemon on host bigdata13.

使用jps可以在对应的节点上查看对应的进程

StandloneSessionClusterEntrypoint  这是jobmanager进程TaskManagerRunner   这是taskmanager进程

6、web UI 查看
http://bigdata11:8081

7、运行测试任务

flink run -m bigdata11:8081 ./examples/batch/WordCount.jar --input /opt/module/datas/word.txt --output /tmp/word.output

8、增减节点到集群中

增加/减少jobmanager节点:bin/jobmanager.sh ((start|start-foreground) [host] [webui-port])|stop|stop-all增加/减少taskmanager节点(需要到当前节点去启动):bin/taskmanager.sh start|start-foreground|stop|stop-all

1.4 standalone模式jobManager HA

​ 首先,我们需要知道 Flink 有两种部署的模式,分别是 Standalone 以及 Yarn Cluster 模式。对于 Standalone 来说,Flink 必须依赖于 Zookeeper 来实现 JobManager 的 HA(Zookeeper 已经成为了大部分开源框架 HA 必不可少的模块)。在 Zookeeper 的帮助下,一个 Standalone 的 Flink 集群会同时有多个活着的 JobManager,其中只有一个处于工作状态,其他处于 Standby 状态。当工作中的 JobManager 失去连接后(如宕机或 Crash),Zookeeper 会从 Standby 中选举新的 JobManager 来接管 Flink 集群。
​ 对于 Yarn Cluaster 模式来说,Flink 就要依靠 Yarn 本身来对 JobManager 做 HA 了。其实这里完全是 Yarn 的机制。对于 Yarn Cluster 模式来说,JobManager 和 TaskManager 都是被 Yarn 启动在 Yarn 的 Container 中。此时的 JobManager,其实应该称之为 Flink Application Master。也就说它的故障恢复,就完全依靠着 Yarn 中的 ResourceManager(和 MapReduce 的 AppMaster 一样)。由于完全依赖了 Yarn,因此不同版本的 Yarn 可能会有细微的差异。这里不再做深究。

1、修改配置文件
conf/flink-conf.yaml

注释掉 #jobmanager.rpc.address: bigdata11修改下面的配置high-availability: zookeeper   //73行 指定高可用方式为zookeeper#指定高可用模式中zookeeper的地址列表 //88行high-availability.zookeeper.quorum:bigdata11:2181,bigdata12:2181,bigdata13:2181#指定将jobmanager状态数据持久化保存到hdfs中high-availability.storageDir: hdfs:///flink/ha/       #JobManager元数据保存在文件系统storageDir中,只有指向此状态的指针存储在ZooKeeper中(必须) //没有high-availability.zookeeper.path.root: /flink         #根ZooKeeper节点,在该节点下放置所有集群节点(推荐),这是集群节点信息保存位置high-availability.cluster-id:/flinkCluster           #自定义集群(推荐),这里是检查点和保存点的配置,保存在hdfs中,非必须state.backend: filesystemstate.checkpoints.dir: hdfs:///flink/checkpointsstate.savepoints.dir: hdfs:///flink/checkpoints

conf/masters

将主备jobmanager地址都写到该配置文件中。bigdata11:8081bigdata12:8081

conf/zoo.cfg

server.1=bigdata11:2888:3888server.2=bigdata12:2888:3888server.3=bigdata13:2888:3888

修改完后同步配置到其他所有节点中。

2、启动集群

先启动好zookeeper服务。然后启动hdfs服务。最后启动flink集群。 start-cluster.sh

1.5 yarn模式安装
部署步骤和上面standalone基本一样,这里不重复。还要添加以下配置:
配置好hadoop(hdfs和yarn)环境,同时配置好HADOOP_HOME这个环境变量。
接着在yarn下启动jobmanager和taskmanager。

/opt/module/flink-1.6.1/bin/yarn-session.sh -n 2 -s 4 -jm 1024 -tm 1024 -nm test -d其中:-n(--container):TaskManager的数量。-s(--slots):    每个TaskManager的slot数量,默认一个slot一个core,默认每个taskmanager的slot的个数为1,有时可以多一些taskmanager,做冗余。-jm:JobManager的内存(单位MB)。-tm:每个taskmanager的内存(单位MB)。-nm:yarn 的appName(现在yarn的ui上的名字)。 -d:后台执行会自动根据 conf/ 下的配置文件启动对应的jobmanager和taskmanager的

启动完成后,可以到yarn 的web页面查看到刚才提交会话任务:

http://bigdata11:8088

同时可以在提交session的节点上使用jps查看对应的进程:

YarnSessionClusterEntrypoint  这个就是刚刚提交的yarn-session维持的session进程

提交测试任务到yarn中的flink集群运行

./bin/flink run ./examples/batch/WordCount.jar --input 输出数据路径--output 输出数据路径可以手动使用 -m jobManagerAddress 指定jobmanager地址,但是flink client可以自动根据flink的配置文件获取到jobmanager地址,所以可以不用指定

提交任务之后,可以在yarn的web页面中查看到相关的任务信息

配置 节点 集群 模式 环境 地址 文件 任务 进程 内存 变量 数据 状态 同时 数量 方式 这是 工作 测试 信息 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 手冲咖啡和咖啡机区别 耶加雪菲 互联网电商科技 狮子座互联网科技有限公司 互联网金融和金融科技 互联网科技公司做什么 互联网科技生活的内容 中国最先进互联网科技公司 福建科技产业互联网发展 武汉健翔互联网络科技有限公司 湖南一路畅行互联网科技 本届互联网博览会上的黑科技 畅思互联网科技 佛山市翊博互联网络科技有限公司 洛阳共同富裕互联网科技有限公司 锡山区互联网智能科技产品供应 上海乐五互联网科技有限公司 互联网高科技行业有哪些企业 亚光科技低轨卫星互联网 互联网科技创业计划的风险分析 互联网和科技技术 互联网科技股票 碳银互联网科技 华脉科技工业互联网产品 宁夏科技产业互联网案例 江阴互联网智能科技产品进口 哈尔滨屹滨互联网科技有限公司 深圳市优智互联网科技有限公司 高科技互联网套路 好易买互联网科技
0