首页技术文章正文

十分钟轻松学会Flink集群搭建【黑马大数据培训】

更新时间:2019年07月29日 15时45分18秒 来源:黑马程序员论坛

Flink的集群搭建方式有两种:分别是Standalone模式(独立集群模式)和HA模式(高可用集群模式)。
下面我们就来学习者两种集群的搭建(这里以flink-1.6.0-bin-hadoop26-scala_2.11.tgz版本为例)。
环境准备
三台虚拟机,每台节点hostname分别为node01、node02、node03,虚拟机之间配置了免密登录
每台虚拟机安装jdk1.8及以上版本
每台虚拟机安装了zookeeper集群和hadoop集群
hadoop集群访问端口配置为8020

在每台虚拟机创建以下目录

mkdir ‐p /opt/softwares
mkdir ‐p /opt/servers
mkdir ‐p /opt/data
mkdir ‐p /opt/logs

flink安装包:flink-1.6.0-bin-hadoop26-scala_2.11.tgz

下载路径:https://flink.apache.org/downloads.html

Standalone集群搭建
1. 上传安装包(flink-1.6.0-bin-hadoop26-scala_2.11.tgz)到node01节点目录 /opt/softwares
2. 解压安装包到目录 /opt/servers

cd  /opt/softwares
tar ‐zxvf flink‐1.6.0‐bin‐hadoop26‐scala_2.11.tgz ‐C /opt/servers/

3. 修改配置文件  conf/flink-conf.yaml

# 配置Master的端口号
jobmanager.rpc.port: 6123
# 配置jobManager JVM heap 内存大小
jobmanager.heap.size: 1024m
# 配置taskManager JVM heap 内存大小
taskmanager.heap.size: 1024m
# 配置每个TaskManager任务槽(slot)数量
taskmanager.numberOfTaskSlots: 3
# 配置启动时进行内存预分配
taskmanager.memory.preallocate: false
# 配置每个operator的默认并行度
parallelism.default: 1
# 配置web ui界面启动的端口号
rest.port: 8081
# 配置每个taskmanager生成的临时文件夹
taskmanager.tmp.dirs: /opt/data/flink

4. 修改flink目录下的配置文件 conf/master

vi master
#如果已存在默认配置,删除默认配置
# 添加配置
node01:8081

5. 修改flink目录下的配置文件  conf/slaves

vi slaves
#如果已存在默认配置,删除默认配置
# 添加配置
node01
node02
node03

6. 发送安装包

cd /opt/servers
scp ‐r flink‐1.6.0/ node02:$PWD
scp ‐r flink‐1.6.0/ node03:$PWD

7. 启动和关闭

# 启动集群
bin/start‐cluster.sh
# 关闭集群
bin/stop‐cluster.sh

8. 查看前端页面

http://node01:8081
# 注意:windows上的host文件要配置对应的node01域名映射

HA集群搭建
1. 停止Flink集群

bin/stop‐cluster.sh

2. 在Standalone基础上,修改node01配置文件  conf/flink-conf.yaml

# 在文件末尾追加下列配置
#开启HA
# checkpoint state文件保存模式
state.backend: filesystem
# checkpoint state文件保存路径
state.backend.fs.checkpointdir: hdfs://node01:8020/flink‐checkpoints
# 将高可用模式设置为zookeeper,依赖zookeeper实现高可用
high‐availability: zookeeper
# 设置HA元数据保存路径
high‐availability.storageDir: hdfs://node01:8020/flink/ha/
# 配置zookeeper集群地址
high‐availability.zookeeper.quorum: node01:2181,node02:2181,node03:2181
# zookeeper是否进行安全校验,防止丢失数据
high‐availability.zookeeper.client.acl: open

3. 发送文件 flink-conf.yaml

scp flink‐conf.yaml node02:$PWD
scp flink‐conf.yaml node03:$PWD

4. 修改 node02 的配置文件 flink-conf.yaml

# 修改配置
jobmanager.rpc.address: node02


5. 修改 node01的 conf/masters

node01:8081
node02:8081

6. 发送master

scp master node02:$PWD
scp master node03:$PWD

7. 启动集群

# 1. 启动zookeeper集群
# 2. 启动hadoop集群
# 3. 启动Flink集群
bin/start‐cluster.sh

8. 查看前端页面

http://node01:8081/

小结
每一个大数据技术组件的学习,第一步面临的可能都是集群环境的搭建,但是这些这些搭建步骤基本都是定式化的
操作,只要搭建过一次,之后遇到其他情况的搭建基本上是大同小异。本篇内容详细介绍了Flink的两种集群搭建方
式,希望帮助小伙们轻松入门Flink第一课。

推荐了解热门学科

java培训 Python人工智能 Web前端培训 PHP培训
区块链培训 影视制作培训 C++培训 产品经理培训
UI设计培训 新媒体培训 软件测试培训 Linux运维
大数据培训 智能机器人软件开发




传智播客是一家致力于培养高素质软件开发人才的科技公司“黑马程序员”是传智播客旗下高端IT教育品牌。自“黑马程序员”成立以来,教学研发团队一直致力于打造精品课程资源,不断在产、学、研3个层面创新自己的执教理念与教学方针,并集中“黑马程序员”的优势力量,针对性地出版了计算机系列教材50多册,制作教学视频数+套,发表各类技术文章数百篇。

传智播客从未停止思考

传智播客副总裁毕向东在2019IT培训行业变革大会提到,“传智播客意识到企业的用人需求已经从初级程序员升级到中高级程序员,具备多领域、多行业项目经验的人才成为企业用人的首选。”

中级程序员和初级程序员的差别在哪里?
项目经验。毕向东表示,“中级程序员和初级程序员最大的差别在于中级程序员比初级程序员多了三四年的工作经验,从而多出了更多的项目经验。“为此,传智播客研究院引进曾在知名IT企业如阿里、IBM就职的高级技术专家,集中研发面向中高级程序员的课程,用以满足企业用人需求,尽快补全IT行业所需的人才缺口。

何为中高级程序员课程?

传智播客进行了定义。中高级程序员课程,是在当前主流的初级程序员课程的基础上,增加多领域多行业的含金量项目,从技术的广度和深度上进行拓展“我们希望用5年的时间,打造上百个高含金量的项目,覆盖主流的32个行业。”传智播客课程研发总监于洋表示。




黑马程序员热门视频教程

Python入门教程完整版(懂中文就能学会) 零起点打开Java世界的大门
C++| 匠心之作 从0到1入门学编程 PHP|零基础入门开发者编程核心技术
Web前端入门教程_Web前端html+css+JavaScript 软件测试入门到精通


在线咨询 我要报名
和我们在线交谈!