1、Flink简介
Apache Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。Flink被设计在所有常见的集群环境中运行,以内存执行速度和任意规模来执行计算。
Flink起源于Stratosphere项目,Stratosphere是在2010~2014年由3所地处柏林的大学和欧洲的一些其他的大学共同进行的研究项目,2014年4月Stratosphere的代码被复制并捐赠给了Apache软件基金会,参加这个孵化项目的初始成员是Stratosphere系统的核心开发人员,2014年12月,Flink一跃成为Apache软件基金会的顶级项目。
Flink虽然诞生的早(2010年),但是其实是起大早赶晚集,直到2015年才开始突然爆发热度。
在Flink被apache提升为顶级项目之后,阿里实时计算团队决定在阿里内部建立一个Flink 分支 Blink,并对 Flink 进行大量的修改和完善,让其适应阿里巴巴这种超大规模的业务场景。
Blink由2016年上线,服务于阿里集团内部搜索、推荐、广告和蚂蚁等大量核心实时业务。与2019年1月Blink正式开源,目前阿里70%的技术部门都有使用该版本。
Blink比起Flink的优势就是对SQL语法的更完善的支持以及执行SQL的性能提升。
2、Flink 安装部署 HA
a:下载 Flink tar 包
略坑的地方是,flink 包贼难下载,巨慢,有需要联系博主
b:解压 Flink tar 包
当我们解压完成后,看一下原始目录
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
这时候有大家可能不知道我的hosts文件映射,我截图给大家说明
e:修改conf 下 slaves
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:分别上传 给各个机器
h:启动 / 停止 flink 集群
进入到 bin 目录下 执行
启动 ./start-cluster.sh
停止 ./stop-cluster.sh
jps 查看进程
i:验证服务是否启动成功
进行模拟连接 webUI 执行 curl 172.16.16.204:8081
查看端口号 netstat -tunlp
webUI 界面
然后进行kill 掉进程 进行了切换
至此 Flink HA 全部搭建完毕,后续博主会更新如何提交任务,Flink 使用以及整体链路,如果帮助到大家记得点个赞哦~