Flink HA部署
1、Flink简介
Apache Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。Flink被设计在所有常见的集群环境中运行,以内存执行速度和任意规模来执行计算。
![](https://img.haomeiwen.com/i18933707/5c11ef0388100ea5.png)
Flink起源于Stratosphere项目,Stratosphere是在2010~2014年由3所地处柏林的大学和欧洲的一些其他的大学共同进行的研究项目,2014年4月Stratosphere的代码被复制并捐赠给了Apache软件基金会,参加这个孵化项目的初始成员是Stratosphere系统的核心开发人员,2014年12月,Flink一跃成为Apache软件基金会的顶级项目。
![](https://img.haomeiwen.com/i18933707/51f2088cb6e2c59c.png)
Flink虽然诞生的早(2010年),但是其实是起大早赶晚集,直到2015年才开始突然爆发热度。
在Flink被apache提升为顶级项目之后,阿里实时计算团队决定在阿里内部建立一个Flink 分支 Blink,并对 Flink 进行大量的修改和完善,让其适应阿里巴巴这种超大规模的业务场景。
Blink由2016年上线,服务于阿里集团内部搜索、推荐、广告和蚂蚁等大量核心实时业务。与2019年1月Blink正式开源,目前阿里70%的技术部门都有使用该版本。
Blink比起Flink的优势就是对SQL语法的更完善的支持以及执行SQL的性能提升。
![](https://img.haomeiwen.com/i18933707/22df30d71446ade3.png)
2、Flink 安装部署 HA
a:下载 Flink tar 包
略坑的地方是,flink 包贼难下载,巨慢,有需要联系博主
![](https://img.haomeiwen.com/i12443076/fa9f417bdeb36c3e.png)
b:解压 Flink tar 包
![](https://img.haomeiwen.com/i12443076/0630e866cd9eb724.png)
当我们解压完成后,看一下原始目录
![](https://img.haomeiwen.com/i18933707/365d18853fd230b0.png)
c:修改conf 下 flink-conf.yaml
jobmanager.rpc.address: stat-master
jobmanager.rpc.port: 6123
jobmanager.heap.size: 1024m
taskmanager.heap.size: 1024m
taskmanager.numberOfTaskSlots: 2
parallelism.default: 1
taskmanager.tmp.dirs: /opt/hadoop/flink-1.7.0/tmp
high-availability: zookeeper
high-availability.storageDir: hdfs://stat-master:9000/flink/ha/
high-availability.zookeeper.quorum: core-master:2181,core-slave01:2181,core-slave02:2181
high-availability.zookeeper.client.acl: open
state.backend: filesystem
state.checkpoints.dir: hdfs://stat-master:9000/flink-checkpoints
rest.port: 8081
d:修改 conf 下 masters
![](https://img.haomeiwen.com/i18933707/b20b7785737733d5.png)
这时候有大家可能不知道我的hosts文件映射,我截图给大家说明
![](https://img.haomeiwen.com/i18933707/d0f81e53c56c84c2.png)
e:修改conf 下 slaves
![](https://img.haomeiwen.com/i18933707/46069ec12e60dab7.png)
f:修改 conf下 zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper
clientPort=2181
server.1=core-master:2888:3888
server.2=core-slave01:2888:3888
server.3=core-slave02:2888:3888
g:分别上传 给各个机器
![](https://img.haomeiwen.com/i18933707/d3359d53d42eb2e9.png)
h:启动 / 停止 flink 集群
进入到 bin 目录下 执行
启动 ./start-cluster.sh
![](https://img.haomeiwen.com/i18933707/67323c8fd7f2c87a.png)
停止 ./stop-cluster.sh
![](https://img.haomeiwen.com/i18933707/2f2e440494d601a9.png)
jps 查看进程
![](https://img.haomeiwen.com/i18933707/7407efc7d9391f44.png)
![](https://img.haomeiwen.com/i18933707/7874fe7cacee992f.png)
![](https://img.haomeiwen.com/i18933707/fac2451b30cc213a.png)
i:验证服务是否启动成功
进行模拟连接 webUI 执行 curl 172.16.16.204:8081
![](https://img.haomeiwen.com/i18933707/0c34a5965ba36993.png)
查看端口号 netstat -tunlp
![](https://img.haomeiwen.com/i18933707/eec86c4d6157020c.png)
webUI 界面
![](https://img.haomeiwen.com/i18933707/fef31ec770a7e24a.png)
然后进行kill 掉进程 进行了切换
![](https://img.haomeiwen.com/i18933707/813a9e0f8dc333bd.png)
至此 Flink HA 全部搭建完毕,后续博主会更新如何提交任务,Flink 使用以及整体链路,如果帮助到大家记得点个赞哦~