centos7安装flink集群_Flink集群搭建一篇就够了

Flink支持多种安装模式。

  • local(本地)——单机模式,一般不使用
  • standalone——独立模式,Flink自带集群,开发测试环境使用
  • yarn——计算资源统一由Hadoop YARN管理,生产环境测试

Standalone模式

步骤
1. 解压flink压缩包到指定目录

2. 配置flink

3. 配置slaves节点

4. 分发flink到各个节点

5. 启动集群

6. 提交WordCount程序测试

7. 查看Flink WebUI具体操作
1. 上传flink压缩包到指定目录

2. 解压缩flink到 /export/servers 目录

tar -xvzf flink-1.6.0-bin-hadoop26-scala_2.11.tgz -C /export/servers

3. 使用vi修改 conf/flink-conf.yaml

# 配置Master的机器名(IP地址)
jobmanager.rpc.address: node-1
# 配置每个taskmanager生成的临时文件夹
taskmanager.tmp.dirs: /export/servers/flink-1.6.0/tmp

4. 使用vi修改slaves文件

node-1
node-2
node-3

5. 使用vi修改 /etc/profile 系统环境变量配置文件,添加HADOOP_CONF_DIR目录

export HADOOP_CONF_DIR=/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop

6. 分发/etc/profile到其他两个节点

scp -r /etc/profile node-2:/etc
scp -r /etc/profile node-3:/etc

7. 每个节点重新加载环境变量

source /etc/profile

8. 使用scp命令分发flink到其他节点

scp -r /export/servers/flink-1.6.0/ node-2:/export/servers/
scp -r /export/servers/flink-1.6.0/ node-3:/export/servers/

9. 启动Flink集群

10. 启动HDFS集群

11. 在HDFS中创建/test/input目录

hadoop fs -mkdir -p /test/input

12. 上传wordcount.txt文件到HDFS /test/input目录

hadoop fs -put /root/wordcount.txt /test/input

13. 并运行测试任务

bin/flink run /export/servers/flink-1.6.0/examples/batch/WordCount.jar --input hdfs://node-1:9000/test/input/wordcount.txt --output hdfs://node-1:9000/test/output/result.txt

14. 浏览Flink Web UI界面

http:// node-1:8081

Standalone集群架构

ef5a23f4fee1678f20183e428cf49e0a.png
  • client客户端提交任务给JobManager
  • JobManager负责Flink集群计算资源管理,并分发任务给TaskManager执行
  • TaskManager定期向JobManager汇报状态

高可用HA模式

从上述架构图中,可发现JobManager存在 单点故障 ,一旦JobManager出现意外,整个集群无法工作。所以,为了确 保集群的高可用,需要搭建Flink的HA。(如果是部署在YARN上,部署YARN的HA),我们这里演示如何搭建 Standalone 模式HA。
HA架构图

2dc8ef9ac7f9bb488b63541be0c720fe.png

步骤
1. 在flink-conf.yaml中添加zookeeper配置

2. 将配置过的HA的 flink-conf.yaml 分发到另外两个节点

3. 分别到另外两个节点中修改flink-conf.yaml中的配置

4. 在 masters 配置文件中添加多个节点

5. 分发masters配置文件到另外两个节点

6. 启动 zookeeper 集群

7. 启动 flink 集群具体操作
1. 在flink-conf.yaml中添加zookeeper配置

#开启HA,使用文件系统作为快照存储
state.backend: filesystem
#启用检查点,可以将快照保存到HDFS
state.backend.fs.checkpointdir: hdfs://node-1:9000/flink-checkpoints
#使用zookeeper搭建高可用
high-availability: zookeeper
# 存储JobManager的元数据到HDFS
high-availability.storageDir: hdfs://node-1:9000/flink/ha/
high-availability.zookeeper.quorum: node-1:2181,node-2:2181,node-3:2181


2. 将配置过的HA的 flink-conf.yaml 分发到另外两个节点

scp -r /export/servers/flink-1.6.0/conf/flink-conf.yaml node-2:/export/servers/flink-1.6.0/conf/
scp -r /export/servers/flink-1.6.0/conf/flink-conf.yaml node-3:/export/servers/flink-1.6.0/conf/


3. 到节点2中修改flink-conf.yaml中的配置,将JobManager设置为自己节点的名称

jobmanager.rpc.address: node-2


4. 在 masters 配置文件中添加多个节点

node-1:8081
node-2:8082


5. 分发masters配置文件到另外两个节点

scp /export/servers/flink-1.6.0/conf/masters node-2:/export/servers/flink-1.6.0/conf/
scp /export/servers/flink-1.6.0/conf/masters node-3:/export/servers/flink-1.6.0/conf/


6. 启动 zookeeper 集群

7. 启动 HDFS 集群

8. 启动 flink 集群

9. 分别查看两个节点的Flink Web UI

10. kill掉一个节点,查看另外的一个节点的Web UI

注意事项
  切记搭建HA,需要将第二个节点的 jobmanager.rpc.address 修改为node-2

YARN模式


在企业中,经常需要将Flink集群部署到YARN,因为可以使用YARN来管理所有计算资源。而且Spark程序也可以部署到 YARN上。
Flink运行在YARN上,可以使用yarn-session来快速提交作业到YARN集群。

418cbe01cb0918d23d6ea4ba88a6017a.png


yarn-session提供两种模式
  1. 会话模式

  • 使用Flink中的yarn-session(yarn客户端),会启动两个必要服务 JobManager 和 TaskManagers
  • 客户端通过yarn-session提交作业
  • yarn-session会一直启动,不停地接收客户端提交的作用
  • 有大量的小作业,适合使用这种方式

af558b3371e151827f3cfa015c9a2860.png


  2. 分离模式

  • 直接提交任务给YARN
  • 大作业,适合使用这种方式

e0774a24147a073552fbee72ab3cfa85.png

步骤
1. 修改Hadoop的yarn-site.xml,添加该配置表示内存超过分配值,是否将任务杀掉。默认为true。

运行Flink程序,很容易超过分配的内存。

2. 启动HDFS、YARN集群

3. 使用yarn-session的模式提交作业

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值