赞
踩
Flink的HA,不仅依赖zookeeper而且还依赖分布式文件系统如:HDFS、OSS、S3、MapR FS等,一个高可用集群居然依赖两个外部服务,kafka已经去除了zookeeper,相信不久的将来Flink也会做出改变。
Flink 环境搭建分为docker方式及实体机方式,我们下面分别以docker方式及实体机方式进行安装。
docker-compose.yml方式
(1)配置yml文件
version: "2.1"
services:
jobmanager:
image: flink
expose:
- "6123"
ports:
- "8081:8081"
command: jobmanager
environment:
- JOB_MANAGER_RPC_ADDRESS=jobmanager
taskmanager:
image: flink
expose:
- "6121"
- "6122"
depends_on:
- jobmanager
command: taskmanager
links:
- "jobmanager:jobmanager"
environment:
- JOB_MANAGER_RPC_ADDRESS=jobmanager
默认将拉取最新的镜像
拉取完后执行
(2)docker-compose up -d
我们可以看到flink已经启动了
(3)访问页面
flink已经成功安装,jobmanager为master节点,taskmanager为worker节点
实体机安装方式
访问官网:https://flink.apache.org/downloads.html
(1)安装jdk,配置JAVA_HOME,使用jdk1.8高版本及以上
(2)安装包下载地址:https://mirrors.bfsu.edu.cn/apache/flink/flink-1.13.0/flink-1.13.0-bin-scala_2.12.tgz
(3)直接上传安装包到服务器
解压安装包:tar -zxvf flink-1.13.0-bin-scala_2.12.tgz
创建快捷方式:ln -s flink-1.13.0-bin-scala_2.12.tgz flink
配置FLINK_HOEM环境变量
(4)启动服务
local模式,什么配置项都不需要配,直接启动服务器即可
cd $FLINK_HOME
./bin/start-cluster.sh 启动服务
./bin/stop-cluster.sh 停止服务
(5)Web页面浏览
http://IP:8081
以上介绍都是单节点安装,其它方式有standalone及on yarn方式
docker-compose.yml方式
version: "2.1"
services:
jobmanager:
image: flink
expose:
- "6123"
ports:
- "8081:8081"
command: jobmanager
environment:
- JOB_MANAGER_RPC_ADDRESS=jobmanager
taskmanager:
image: flink
expose:
- "6121"
- "6122"
depends_on:
- jobmanager
command: taskmanager
links:
- "jobmanager:jobmanager"
environment:
- JOB_MANAGER_RPC_ADDRESS=jobmanager
taskmanager2:
image: flink
expose:
- "6124"
- "6125"
depends_on:
- jobmanager
command: taskmanager
links:
- "jobmanager:jobmanager"
environment:
- JOB_MANAGER_RPC_ADDRESS=jobmanager
启动后我们可以看到有多个taskmanager
实体机的集群:
Flink的HA,有两种部署的模式,分别是 Standalone 以及 Yarn Cluster 模式。对于 Standalone 来说,Flink 必须依赖于 Zookeeper 来实现 JobManager 的 HA
在 Zookeeper 的帮助下,一个 Standalone 的 Flink 集群会同时有多个活着的 JobManager,其中只有一个处于工作状态,其他处于 Standby 状态。当工作中的 JobManager 失去连接后(如宕机或 Crash),Zookeeper 会从 Standby 中选举新的 JobManager 来接管 Flink 集群。
对于 Yarn Cluaster 模式来说,Flink 就要依靠 Yarn 本身来对 JobManager 做 HA 了。
1、搭建zookeeper集群(此处省略)
2、下载及安装过程参照上面介绍
3、编辑 conf/flink-conf.yaml 加入下面内容
high-availability: zookeeper
high-availability.zookeeper.quorum: node03:2181,node02:2181,node01:2181
high-availability.zookeeper.path.root: /flink
high-availability.cluster-id: cluster_standalone
high-availability.storageDir: file:///home/flink/ha #此处只做演示
参数说明:
high-availability (必须)
作用:设置高可用用的模式,一般使用zookeeper来做flink ha的协调服务.
ZooKeeper quorum (必须)
作用:ZooKeeper
quorum(仲裁集)是ZooKeeper服务器的备份组,它提供分布式协调服务。
ZooKeeper root (必须)
作用:flink 在zookeeper上的根节点,下面给存放集群其他节点。
ZooKeeper cluster-id (推荐配置)
作用:cluster-id ZooKeeper节点,下面放置一个集群所需的全部协调数据。
4、修改conf/下的文件
修改masters 加入192.168.244.129:8081,修改workers加入192.168.244.130及192.168.244.131
5、在192.168.244.129节点启动集群
6、访问192.168.244.129:8081
我们看到集群已经成功。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。