Flink环境搭建,令人惊愕的HA

 

扫码关注系列文章

     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

我们看到集群已经成功。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值