- Flink 常见的部署模式
- 环境准备
- 推荐在 Mac OS 或者 Linux 环境下运行 Flink
- 集群模式,那么可以在自己电脑上安装虚拟机
- 所有的机器上都应该安装 JDK 和 SSH
- Local 模式
- 本地解压直接启动
# ./bin/start-cluster.sh
- 测试任务
./bin/flink run examples/batch/WordCount.jar
- 本地解压直接启动
- Standalone 模式
- 和yarn模式相比:
- Standalone 模式的部署相对简单,可以支持小规模,少量的任务运行;
- Stabdalone 模式缺少系统层面对集群中 Job 的管理,容易遭成资源分配不均匀;
- 资源隔离相对简单,任务之间资源竞争严重。
- 重点:
- master节点解压
- 修改 conf 目录下的 flink-conf.yaml:
jobmanager.rpc.address: master
jobmanager.heap.size: 1024m
jobmanager.rpc.port: 6123
taskmanager.memory.process.size: 1568m
taskmanager.numberOfTaskSlots: 1
parallelism.default: 1
jobmanager.execution.failover-strategy: region
io.tmp.dirs: /tmp
- 修改 conf 目录下的 master 和 slave 文件
vim master,将内容修改为:
master
vim slave,将内容修改为:
slave01
slave02
- 将修改好的解压目录完整的拷贝到两个从节点中去
scp -r /SoftWare/flink-1.10.0 slave01:/SoftWare/
scp -r /SoftWare/flink-1.10.0 slave02:/SoftWare/
- 在 master、slave01、slave02 上分别配置环境变量
vim /etc/profile,将内容修改为:
export FLINK_HOME=/SoftWare/flink-1.10.0
export PATH=$PATH:$FLINK_HOME/bin
- 启动集群
登录 master 节点执行:
/SoftWare/flink-1.10.0/bin/start-cluster.sh
- 访问8081端口检查是否启动成功
- 可能遇到的问题
- 端口被占用,需要手动杀掉占用端口的程序;
- 目录找不到或者文件找不到,在 flink-conf.yaml 中配置过 io.tmp.dirs ,这个目录需要手动创建。
- 和yarn模式相比:
- On Yarn 模式和 HA 配置
- 在 Flink on Yarn 模式中也是借助 Yarn 的资源管理优势
需要在三个节点中配置 YARN_CONF_DIR、HADOOP_CONF_DIR、HADOOP_CONF_PATH 中的任意一个环境变量即可。
- 基于独立的 ZooKeeper 集群配置高可用 HA集群过程
- 环境准备
- ZooKeeper-3.x
- Flink-1.10.0
- Hadoop-2.6.5
- 5台虚拟机
- 添加环境变量
vi /etc/profile
# 添加环境变量
export HADOOP_CONF_DIR=/Software/hadoop-2.6.5/etc/hadoop
# 环境变量生效
source /etc/profile
- 下载对应的的依赖包,并将对应的 Hadoop 依赖复制到 flink 的 lib 目录下
https://repo.maven.apache.org/maven2/org/apache/flink/flink-shaded-hadoop-2-uber/
- 修改 conf 目录下的 flink-conf.yaml:
high-availability: zookeeper
high-availability.storageDir: hdfs://cluster/flinkha/
high-availability.zookeeper.quorum: slave01:2181,slave02:2181,slave03:2181
- 修改 conf 目录下的 master 和 slave 文件
vim master,将内容修改为:
master01:8081
master02:8081
vim slave,将内容修改为:
slave01
slave02
slave03
vim zoo.cfg,将内容修改为:
server.1=slave01:2888:3888
server.2=slave02:2888:3888
server.3=slave03:2888:3888
- 将整个修改好的 Flink 解压目录使用 scp 远程拷贝命令发送到从节点
scp -r /SoftWare/flink-1.10.0 slave01:/SoftWare/
scp -r /SoftWare/flink-1.10.0 slave02:/SoftWare/
scp -r /SoftWare/flink-1.10.0 slave03:/SoftWare/
- 分别启动 Hadoop 和 ZooKeeper,然后启动集群
在master节点,使用命令:
/SoftWare/flink-1.10.0/bin/start-cluster.sh
- 访问8081端口检查是否启动成功
- 环境准备
- Flink on yarn 模式下,启动集群的方式
- 直接在 yarn 上运行任务
相当于将 job 直接提交到 yarn 上,每个任务会根据用户的指定进行资源申请,任务之间互不影响。
./bin/flink run -yjm 1024m -ytm 4096m -ys 2 ./examples/batch/WordCount.jar
- yarn session 模式
需要先启动一个 yarn-session 会话,相当于启动了一个 yarn 任务,这个任务所占用的资源不会变化,并且一直运行。我们在使用 flink run 向这个 session 任务提交作业时,如果 session 的资源不足,那么任务会等待,直到其他资源释放。当这个 yarn-session 被杀死时,所有任务都会停止。
例如我们启动一个 yarn session 任务,该任务拥有 8G 内存、32 个槽位。
./bin/yarn-session.sh -tm 8192 -s 32
我们在 yarn 的界面上可以看到这个任务的 ID,然后向这个 session ID 提交 Flink 任务:
./bin/flink run -m yarn-cluster -yid application_xxxx ./examples/batch/WordCount.jar
其中,application_xxxx 即为上述的 yarn session 任务 ID。
- 直接在 yarn 上运行任务
- 在 Flink on Yarn 模式中也是借助 Yarn 的资源管理优势
- 环境准备
相关文章
- hadoop 2.2.0集群安装详细步骤(简单配置,无HA)
- HUE配置文件hue.ini 的database模块详解(包含qlite、mysql、 psql、和oracle)(图文详解)(分HA集群和非HA集群)
- 安装ansible集群管理和配置密钥互信
- 【无网条件下】Linux系统、jdk、redis及集群、rabbitmq、nginx、weblogic和oracle安装及配置
- HUE配置文件hue.ini 的mapred_clusters模块详解(图文详解)(分HA集群和非HA集群)
- FastDFS安装、配置、部署(一)-安装和部署 (转)
- 部署hadoop2.7.2 集群 基于zookeeper配置HDFS HA+Federation
- Centos6 安装 Redis 和集群配置
- Linux 下Redis集群安装部署及使用详解(在线和离线两种安装+相关错误解决方案)
- hbase和ZooKeeper集群安装配置