Flink的集群搭建方式有两种:分别是Standalone模式(独立集群模式)和HA模式(高可用集群模式)。
下面我们就来学习者两种集群的搭建(这里以flink-1.6.0-bin-hadoop26-scala_2.11.tgz版本为例)。
环境准备
三台虚拟机,每台节点hostname分别为node01、node02、node03,虚拟机之间配置了免密登录
每台虚拟机安装jdk1.8及以上版本
每台虚拟机安装了zookeeper集群和hadoop集群
hadoop集群访问端口配置为8020 |
在每台虚拟机创建以下目录
mkdir ‐p /opt/softwares mkdir ‐p /opt/servers mkdir ‐p /opt/data mkdir ‐p /opt/logs |
flink安装包:flink-1.6.0-bin-hadoop26-scala_2.11.tgz
下载路径:https://flink.apache.org/downloads.html |
Standalone集群搭建
1. 上传安装包(flink-1.6.0-bin-hadoop26-scala_2.11.tgz)到node01节点目录 /opt/softwares
2. 解压安装包到目录 /opt/servers
cd /opt/softwares tar ‐zxvf flink‐1.6.0‐bin‐hadoop26‐scala_2.11.tgz ‐C /opt/servers/ |
3. 修改配置文件 conf/flink-conf.yaml
# 配置Master的端口号 jobmanager.rpc.port: 6123 # 配置jobManager JVM heap 内存大小 jobmanager.heap.size: 1024m # 配置taskManager JVM heap 内存大小 taskmanager.heap.size: 1024m # 配置每个TaskManager任务槽(slot)数量 taskmanager.numberOfTaskSlots: 3 # 配置启动时进行内存预分配 taskmanager.memory.preallocate: false # 配置每个operator的默认并行度 parallelism.default: 1 # 配置web ui界面启动的端口号 rest.port: 8081 # 配置每个taskmanager生成的临时文件夹 taskmanager.tmp.dirs: /opt/data/flink |
4. 修改flink目录下的配置文件 conf/master
vi master #如果已存在默认配置,删除默认配置 # 添加配置 node01:8081 |
5. 修改flink目录下的配置文件 conf/slaves
vi slaves #如果已存在默认配置,删除默认配置 # 添加配置 node01 node02 node03 |
6. 发送安装包
cd /opt/servers scp ‐r flink‐1.6.0/ node02:$PWD scp ‐r flink‐1.6.0/ node03:$PWD |
7. 启动和关闭
# 启动集群 bin/start‐cluster.sh # 关闭集群 bin/stop‐cluster.sh |
8. 查看前端页面
http://node01:8081 # 注意:windows上的host文件要配置对应的node01域名映射 |
HA集群搭建
1. 停止Flink集群
bin/stop‐cluster.sh |
2. 在Standalone基础上,修改node01配置文件 conf/flink-conf.yaml
# 在文件末尾追加下列配置 #开启HA # checkpoint state文件保存模式 state.backend: filesystem # checkpoint state文件保存路径 state.backend.fs.checkpointdir: hdfs://node01:8020/flink‐checkpoints # 将高可用模式设置为zookeeper,依赖zookeeper实现高可用 high‐availability: zookeeper # 设置HA元数据保存路径 high‐availability.storageDir: hdfs://node01:8020/flink/ha/ # 配置zookeeper集群地址 high‐availability.zookeeper.quorum: node01:2181,node02:2181,node03:2181 # zookeeper是否进行安全校验,防止丢失数据 high‐availability.zookeeper.client.acl: open |
3. 发送文件 flink-conf.yaml
scp flink‐conf.yaml node02:$PWD scp flink‐conf.yaml node03:$PWD |
4. 修改 node02 的配置文件 flink-conf.yaml
# 修改配置 jobmanager.rpc.address: node02 |
5. 修改 node01的 conf/masters
node01:8081 node02:8081 |
6. 发送master
scp master node02:$PWD scp master node03:$PWD |
7. 启动集群
# 1. 启动zookeeper集群 # 2. 启动hadoop集群 # 3. 启动Flink集群 bin/start‐cluster.sh |
8. 查看前端页面
http://node01:8081/ |
小结
每一个大数据技术组件的学习,第一步面临的可能都是集群环境的搭建,但是这些这些搭建步骤基本都是定式化的
操作,只要搭建过一次,之后遇到其他情况的搭建基本上是大同小异。本篇内容详细介绍了Flink的两种集群搭建方
式,希望帮助小伙们轻松入门Flink第一课。
文章来源于公总号黑马程序员广州中心(itheimagz)更多资源请关注