原文链接:https://blog.csdn.net/a_drjiaoda/article/details/88037282

前言:Flink的运行一般分为三种模式,即local、Standalone、On Yarn。

在安装Flink之前,需要对安装环境进行检查。本文是建立在Hadoop、Zookeeper等常规大数据软件都已经安装成功的前体下,由于在时间环境中,常常需要Hadoop的组件配合Flink,因此我们在官网下载安装包时,需要找到对应Hadoop版本的Flink安装包以及系统中Scala的版本,我使用的版本是Hadoop2.8.5+scala2.11.12。scala安装不多做赘述,只需修改一下环境变量即可,比安装QQ还简单。

下载Flink安装包
下载Flink二进制包:https://flink.apache.org/downloads.html, 选择flink-1.7.2-bin-hadoop28-scala_2.11.tgz。保存到windows下之后,使用winScp传输到linux系统下/usr目录,这个目录只是小厨将所有的系统软件都放在这里,为了清晰的访问各个系统的文件夹。

解压安装:使用命令 tar -zvxf flink-1.7.2-bin-hadoop28-scala_2.11.tgz对文件进行解压,为了目录整洁,这里使用命令将解压完的文件重命名为flink: mv flink-1.7.2/ flink

一:local模式
Local模式比较简单,用于本地测试,因此不多做赘述。只需在主节点上解压安装包就代表成功安装了,在flink安装目录下使用./bin/start-cluster.sh命令,就可以通过master:8081监控集群状态,关闭集群命令:./bin/stop-cluster.sh。

二:Standalone模式
Standalone模式顾名思义,是在本地集群上调度执行,不依赖于外部调度机制例如YARN。此时需要对配置文件进行一些简单的修改,我们预计使用master节点当Job manage,master、slave1、slave2三台机器充当Task Managers。

1、修改环境变量,vi /etc/profile,添加以下内容

export FLINK_HOME=/usr/flink
export PATH=$FLINK_HOME/bin:$PATH
2、更改配置文件flink-conf.yaml,cd $FLINK_HOME/conf,  vi flink-conf.yaml

主要更改的位置有:
jobmanager.rpc.address: master
taskmanager.numberOfTaskSlots: 2
parallelism.default: 4
上述我们只列出了一些常用需要修改的文件内容,下面我们再简单介绍一些

# jobManager 的IP地址
jobmanager.rpc.address: master

# JobManager 的端口号
jobmanager.rpc.port: 6123

# JobManager JVM heap 内存大小
jobmanager.heap.size: 1024m

# TaskManager JVM heap 内存大小
taskmanager.heap.size: 1024m

# 每个 TaskManager 提供的任务 slots 数量大小,默认为1

taskmanager.numberOfTaskSlots: 2

# 程序默认并行计算的个数,默认为1
parallelism.default: 4
3、配置masters文件

该文件用于指定主节点及其web访问端口,表示集群的Jobmanager,vi masters,添加master:8081

4、配置slaves文件,该文件用于指定从节点,表示集群的taskManager。添加以下内容

master
slave1
slave2
5、分发flink服务,并在从节点环境变量文件/etc/profile中添加相关内容

scp -r /usr/flink root@slave1:/usr
scp -r /usr/flink root@slave2:/usr
6、启动flink集群 (因为在环境变量中已经指定了flink的bin位置,因此可以直接输入start-cluster.sh)

7、验证flink进程,登录web界面

由上图可看出,在master节点上已经启动了flink的Jobmanager和Taskmanager进程,slave节点启动了Taskmanager进程,Flink集群的相关服务已正常启动,下面查看Web界面是否正常,登录配置的master的ip地址+端口号:192.168.83.129:8081,flink cluster情况如下:

至此,standalone模式已成功安装。

注:这里只是集群模式而已,在实际场景中,我们一般需要配置为HA,防止Jobmanager突然挂掉,导致整个集群或者任务执行失败的情况发生。下面介绍一下Standalone HA模式的搭建安装

三、Standalone HA模式
当Flink程序运行时,如果jobmanager崩溃,那么整个程序都会失败。为了防止jobmanager的单点故障,借助于zookeeper的协调机制,可以实现jobmanager的HA配置—-1主(leader)多从(standby)。这里的HA配置只涉及standalone模式,yarn模式暂不考虑。

本例中规划Jobmanager:master,slave1(一个active,一个standby);Taskmanager:slave1,slave2;zookeeper集群。

1、更改flink-conf.yaml配置文件

1.jobmanager端口
jobmanager.web.port: 8081(需要防止端口冲突)
1.jobmanager地址
注释jobmanager.rpc.address:flink配置项
HA模式下,jobmanager不需要指定,在master file中配置,由zookeeper选出leader与standby。

2.checkpoints目录
检查点生成的分布式快照的保存地点,默认是jobmanager的memory,但是HA模式必须配置在hdfs上,
且保存路径需要在hdfs上创建并指定路径
state.backend: filesystem
state.backend.fs.checkpointdir: hdfs://192.168.83.129:9000/flink-metadata/checkpoints

3.hadoopconf路径:
指定hadoop conf路径,这里需要告诉Flink,hadoop配置的路径,否则会报错
fs.hdfs.hadoopconf: $HADOOP_HOME/etc/hadoop

4.zookeeper信息
recovery.mode: zookeeper
recovery.zookeeper.quorum: master:2181,slave1:2181,slave2:2181
recovery.zookeeper.storageDir: hdfs://192.168.83.129:9000/flink-metadata/recovery
recovery.zookeeper.path.root: /flink
recovery.zookeeper.path.namespace: /flink

配置项说明:
storageDir存储jobmanager的元数据信息,包括用于恢复的信息;
recovery.zookeeper.path.root代表zookeeper中节点信息;
recovery.zookeeper.path.namespace,如果Flink集群有不止一个,那么这个值需要指定,不能用默认的名字
2、配置masters文件

master:8081
slave1:8081
注意: spark有个端口已经占用了8081,如果要和spark部署到同一个集群中,应当防止端口冲突

3、分发配置文件,将刚刚修改的配置文件slaves和flink-conf.yaml分发至另外两个节点。

4、重启flink集群:start-cluster.sh

四、Flink on yarn
Flink on yarn的模式适用于实际环境,最近也一直听到很多关于flink on yarn 的消息。由于比较重要,因此单独放一篇《Flink on Yarn模式部署始末》

Flink1.7.2安装部署的几种方式的更多相关文章

  1. 国内k8s集群部署的几种方式

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/lusyoe/article/details/80217291前言总所周知,由于某种原因,通过官方的方 ...

  2. BI笔记-SSAS部署的几种方式及部署后的SSAS刷新

    SSAS的部署方式在哥本哈士奇的博客:BI笔记之--- SSAS部署的几种方式已经介绍了四种方式,在这里再介绍一种比较常用的快速部署方式. 环境约定:SQL Server 2008 R2 示例库:Ad ...

  3. MyEclipse安装插件的几种方式(适用于Eclipse或MyEclipse其他版本)

    MyEclipse2014安装插件的几种方式(适用于Eclipse或MyEclipse其他版本)  2014-04-28 21:09  MyEclipse  阿超  19171 views 众所周知M ...

  4. Ubuntu 安装 JDK8 的两种方式

    ubuntu 安装jdk 的两种方式: 1:通过ppa(源) 方式安装. 2:通过官网下载安装包安装. 这里推荐第1种,因为可以通过 apt-get upgrade 方式方便获得jdk的升级 使用pp ...

  5. MyEclipse2014安装插件的几种方式(适用于Eclipse或MyEclipse其他版本)

    农历 乙未 羊年 十一月初九 周六 2015年12月19日 14:29 编辑者:刘军 标题: 服务器的搭建请参考该文:<Win7 x64 svn 服务器搭建> ============== ...

  6. eclipse 安装插件的几种方式

        eclipse 安装插件的几种方式   1.使用url在线安装 ,最方便最快捷   help - install new software       接下来就是同意协议之类的,next ne ...

  7. 基于Maven的SpringBoot项目实现热部署的两种方式

    转载:http://blog.csdn.net/tengxing007/article/details/72675168 前言 JRebel是JavaEE中比较流行的热部署插件,可快速实现热部署,节省 ...

  8. Linux 安装 Nodejs 的两种方式

    Linux 安装 Nodejs 的两种方式 目录 Linux 安装 Nodejs 的两种方式 一.压缩包安装 Nodejs 二.源码编译安装 Nodejs 一.压缩包安装 Nodejs 下载 Node ...

  9. springboot实现热部署的几种方式

    原理:使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader,这样在 ...

随机推荐

  1. 如何计算Data Guard环境中Redo所需的网络带宽传输 (Doc ID 736755.1)

    How To Calculate The Required Network Bandwidth Transfer Of Redo In Data Guard Environments (Doc ID ...

  2. Excel上下标如何设置?

    Excel表格怎么设置上下标?Excel上下标设置技巧 在21世纪的我们,平时的工作和学习中,经常会使用到一些专业的文档,比如方程式.数据的公式和科学计数等,其中均会涉及到许多的上下标符号输入以及使用 ...

  3. 六、接上一个博客-ITK例子运行结果

    一.程序介绍 该程序的主要思路如下: 二.程序参数 1-程序自己创建三维图像的时候 我自己计算得到的参数如下: 三维图像参数:  旋转参数: 光线投射法参数: 当我们输入参数:  -v 得到程序的输出 ...

  4. C++入门到理解之文件操作(文本文件的读写+二进制文件的读写)

    原文地址http://www.javayihao.top/detail/168 一:概述 1.程序在运行中产生的数据都是临时数据,程序一旦运行结束会被释放,可以通过文件相关的操作将数据持久保存. 2. ...

  5. Java 中 PO 与 VO 的区别

    什么是PO PO(Persistence Object 持久化对象)是直接跟持久层数据库打交道的java Bean (model,entity,bean等叫法都是可以的),里面除了私有的成员变量之外, ...

  6. Python只读取文本中文字符

    #coding=utf-8 import re with open('aaa.txt','r',encoding="utf-8") as f: #data = f.read().d ...

  7. m3u8视频格式分析

    “ 学习m3u8格式.” 一段时间之前,乘着某美女CEO的东风,学习了一个新的数据格式,即m3u8格式. 经过一段时间的沉淀,美女CEO的热潮大概已经褪去,今天才对这个格式进行分析,嘻嘻. 先介绍下来 ...

  8. QT--HTTP图片下载器

    QT--HTTP图片下载器 1.http使用前提 QT       += core gui network    //必须加上network 2.必须头文件 #include <QNetwork ...

  9. 服务器 vim模式下报错E37: No write since last change (add ! to override)

    故障现象: 使用vim修改文件报错,系统提示如下: E37: No write since last change (add ! to override) 故障原因: 文件为只读文件,无法修改. 解决 ...

  10. alluxio 安装记录及相关信息

    最近要尝试探究一下alluxio相关的知识,本博客进行对alluxio的安装过程进行备忘: 单例安装过程: https://docs.alluxio.io/os/user/stable/cn/cont ...