Flink1.7.2安装部署的几种方式
原文链接: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安装部署的几种方式的更多相关文章
- 国内k8s集群部署的几种方式
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/lusyoe/article/details/80217291前言总所周知,由于某种原因,通过官方的方 ...
- BI笔记-SSAS部署的几种方式及部署后的SSAS刷新
SSAS的部署方式在哥本哈士奇的博客:BI笔记之--- SSAS部署的几种方式已经介绍了四种方式,在这里再介绍一种比较常用的快速部署方式. 环境约定:SQL Server 2008 R2 示例库:Ad ...
- MyEclipse安装插件的几种方式(适用于Eclipse或MyEclipse其他版本)
MyEclipse2014安装插件的几种方式(适用于Eclipse或MyEclipse其他版本) 2014-04-28 21:09 MyEclipse 阿超 19171 views 众所周知M ...
- Ubuntu 安装 JDK8 的两种方式
ubuntu 安装jdk 的两种方式: 1:通过ppa(源) 方式安装. 2:通过官网下载安装包安装. 这里推荐第1种,因为可以通过 apt-get upgrade 方式方便获得jdk的升级 使用pp ...
- MyEclipse2014安装插件的几种方式(适用于Eclipse或MyEclipse其他版本)
农历 乙未 羊年 十一月初九 周六 2015年12月19日 14:29 编辑者:刘军 标题: 服务器的搭建请参考该文:<Win7 x64 svn 服务器搭建> ============== ...
- eclipse 安装插件的几种方式
eclipse 安装插件的几种方式 1.使用url在线安装 ,最方便最快捷 help - install new software 接下来就是同意协议之类的,next ne ...
- 基于Maven的SpringBoot项目实现热部署的两种方式
转载:http://blog.csdn.net/tengxing007/article/details/72675168 前言 JRebel是JavaEE中比较流行的热部署插件,可快速实现热部署,节省 ...
- Linux 安装 Nodejs 的两种方式
Linux 安装 Nodejs 的两种方式 目录 Linux 安装 Nodejs 的两种方式 一.压缩包安装 Nodejs 二.源码编译安装 Nodejs 一.压缩包安装 Nodejs 下载 Node ...
- springboot实现热部署的几种方式
原理:使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader,这样在 ...
随机推荐
- 高维数据Lasso思路
海量数据的特征工程中, 如果数据特征维度达到几千乃至上万 常规的lasso很容易失效 这里介绍几种泛义lasso,是在实际数据处理中常用的 迭代与分块思路/分组的使用(有兴趣的同学可自行实践一下) 1 ...
- java实现排列组合(通俗易懂)
个人感觉这篇文章(原文地址见文章尾)写的排列组合问题,非常的好,而且是一步一步引出排列组合问题,我也是看了这篇文章,一步一步按照这个思路来,最后会了自己的一套排列组合 也因此在算法竞赛中,两次用到了, ...
- 百度云盘资源 for MAC 第三方工具不限速下载
相信大家都比较困惑,百度网盘客户端限速后一般只有几十K的下载速度,Windows有百度网盘破解版,但MAC的破解版似乎不存在,要提速的话,一般的做法是开超级会员(27元/月),身为程序员的我们,是不是 ...
- python内置函数的使用(一)
迭代器(iterator)和可迭代对象(iterable) 在python中,要实现要个对象可以进行遍历,也就是实现for循环,那么他必须是一个可迭代对象,例如string,tuple,list,di ...
- easyui treegrid数据重复加载问题
在使用easyui的时候,出现了数据重复加载的问题.如下图 关于这个问题有两种说法,第一种说法是 easyui-datagrid 类在html和js中重复定义,数据渲染时会加载两次.另一种是$(&qu ...
- Dicom文件支持中文字符
Dicom文件的默认字符集编码为ISO-IR6,这种字符集是不支持中文的,当使用Dicom工具修改病人姓名后,名字会成乱码而无法正常显示,如下图: 知道了原因就知道解决办法了,修改Dicom的字符集( ...
- 通过SSH隧道的本地转发实现Django连接远程数据库
SSH连接命令 默认连接的端口为22 1. 使用私钥 ssh -p connect_port user_name@host -i your_private_identity 2. 使用用户密码 ssh ...
- C#_服务器EXCEL模板文件导出
A-1:EXCEL模板导出 非常简单,将EXCEL模板上传到项目中后,将其浏览URL保存下来(excelUrl),然后: window.location.href="http://local ...
- python爬虫公众号所有信息,并批量下载公众号视频
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 数据分析实战 PS:如有需要Python学习资料的小伙伴可以加点击 ...
- javaWeb技术第一篇之HTML
<!-- 当前是最简的html --> <html> <!-- 告诉浏览器当前是一个html文档 最外面的标签. --> <head> <!--h ...