Flink支持多种安装模式
-
Local—本地单机模式,学习测试时使用
-
Standalone—独立集群模式,Flink自带集群,开发测试环境使用
-
StandaloneHA—独立集群高可用模式,Flink自带集群,开发测试环境使用
-
On Yarn—计算资源统一由Hadoop YARN管理,生产环境使用
本章将跳过local standaloneha等,如有需要请自行百度
配置文件
vim flink-1.14.4/conf/flink-conf.yaml
#开启网页提交任务
web.submit.enable: true
jobmanager.rpc.address: master
#自行选择
taskmanager.numberOfTaskSlots: 1
classloader.check-leaked-classloader: false
#zookeeper
high-availability: zookeeper
#开启HA,使用文件系统作为快照存储
state.backend: filesystem
#启用检查点,可以将快照保存到HDFS
state.backend.fs.checkpointdir: hdfs://master:9000/flink-checkpoints
high-availability.zookeeper.quorum: master:2181,node1:2181,node2:2181
high-availability.zookeeper.path.root: /flink
high-availability.storageDir: hdfs://master:9000/flink/recovery
其他有需要的配置文件按需更改
vim flink-1.14.4/conf/masters
master:8081
node2:8081
vim flink-1.14.4/conf/workers
node1
node2
关闭yarn的内存检查
<!-- 关闭yarn内存检查 -->
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
说明:
是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是true。
在这里面我们需要关闭,因为对于flink使用yarn模式下,很容易内存超标,这个时候yarn会自动杀掉job
yarn集群要重启
分发flink
分发完成之后要在node2里面改下配置文件flink-conf.yaml
vim flink-1.14.4/conf/flink-conf.yaml
jobmanager.rpc.address: node2
开启zookeeper集群,执行flink example测试
采用per-job的方式提交任务到yarn
flink run -m yarn-cluster /apps/flink-1.14.4/examples/streaming/TopSpeedWindowing.jar