根据以下两种条件将集群部署模式分为三种类型:
1、集群的生命周期和资源隔离;
2、根据程序main()方法执行在Client 还是JobManager
Cluster Management | Session 模式 | Pre-Job模式 | Application 模式 | Native 模式 | 是否生产可用 | 是否支持高可用 | 国内接受度 |
---|---|---|---|---|---|---|---|
Local | 支持 | 不支持 | 不支持 | 不支持 | 否 | 不支持 | 低 |
Standalone | 支持 | 不支持 | 不支持 | 不支持 | 是 | 支持 | 低 |
Yarn | 支持 | 支持 | 支持 | 支持 | 是 | 支持 | 高 |
Mesos | 支持 | 支持 | 不支持 | 支持 | 是 | 支持 | 中 |
Docker | 支持 | 支持 | 不支持 | 不支持 | 是 | 不支持 | 低 |
Kubernetes | 支持 | 支持 | 支持 | 支持 | 是 | 支持 | 高 |
https://flink.apache.org/downloads.html
wget https://dlcdn.apache.org/flink/flink-1.16.0/flink-1.16.0-bin-scala_2.12.tgz
tar -zxvf flink-1.16.0-bin-scala_2.12.tgz
cd flink-1.16.0 & ./bin/start-cluster.sh
high-availability: zookeeper
high-availability.zookeeper.quorum: node01:2181,node02:2181,node03:2181,node04:2181,node05:2181
high-availability.zookeeper.path.root: /flink
#high-availability.cluster-id: /cluster_one # important: customize per cluster
high-availability.storageDir: hdfs:///flink/recovery
localhost:8081
localhost:8082
server.0=localhost:2888:3888
$ bin/start-cluster.sh
Starting HA cluster with 2 masters and 1 peers in ZooKeeper quorum.
Starting standalonesession daemon on host localhost.
Starting standalonesession daemon on host localhost.
Starting taskexecutor daemon on host localhost.
Session 集群启动:
./bin/yarn-session.sh -jm 1024m -tm 4096m
Job 集群启动:
./bin/flink run -m yarn-cluster -p 4 -yjm 1024m -ytm 4096m ./examples/batch/WordCout.jar
Application Mode集群启动:
./bin/flink run-application -t yarn-application \
-Djobmanager.memory.process.size=2048m \
-Dtaskmanager.memory.process.size=4096m \
-Dyarn.provided.lib.dirs="hdfs://node02:8020/flink-training/flink-1.16.0" \
./MyApplication.jar