Flink集群部署文档

9 阅读3分钟

一、概述与说明

1.1 概述

  • 背景:描述此文档的背景和要解决的技术问题
  • 技术定位:初级
  • 目标群体:使用Flink的应用开发用户
  • 技术应用场景:Standalone 是 Flink 的独立部署模式,它不依赖其他平台,一般用于测试环境。
  • 官方链接:nightlies.apache.org/flink/flink…

1.2 执行模式说明

可以通过以下三种方式中的一种执行 Flink 程序:

  • Application Mode
  • Session Mode
  • Per-Job Mode(过时)

上面模式的不同点:

  • 集群生命周期和资源隔离保证
  • 应用程序的 main() 方法是在客户端执行还是在集群上执行

Flink****的Standalone集群并不支持单作业模式部署。

1.3 安装部署说明

  • local(本地):本地单机模式,一般用于测试环境是否搭建成功,很少使用
  • standalone(独立集群模式):flink自带集群,开发测试使用(此文档介绍)
  • StandAloneHA:独立集群的高可用模式,也是flink自带,用于开发测试环境
  • on yarn(flink on yarn):计算资源统一由hadoop yarn管理,生产环境使用
  • on K8S:生产环境使用



二、操作步骤

2.1 Flink架构概要

下图展示的是每个 Flink 集群的组成部分。

首先会有一个在某处一直运行的客户端,这个客户端会将 Flink 应用程序中的代码转换为 JobGraph,并将其提交给 JobManager,JobManager 会将任务分布到 TaskManager 中,TaskManager 会一直运行真正的算子,比如:source、转换、sink。

2.2 准备工作

  • Java1.8.x及以上版本。
  • ssh安装

Java需要配置JAVA_HOME环境变量,并且指向Java安装目录。

ssh需要在集群节点上配置免密码登录,并且Flink安装目录也要在所有节点的相同目录上,这样我们就可以使用Flink的脚本来管理它们了。

Flink集群由一个Master节点和一个或多个Worker节点组成。

主机节点类型服务名称
10.0.0.1masterjobmanager
10.0.0.2workertaskmanager
10.0.0.3workertaskmanager

2.3 下载安装上传

下载安装包

上传服务器

解压

tar -zxvf flink-1.13.1-bin-scala_2.11.tgz -C /XXXX/XXXX

2.4 修改配置文件

# jobManager 的IP地址

jobmanager.rpc.address: node1

# JobManager 的端口号

jobmanager.rpc.port: 6123

# JobManager JVM heap 内存大小

jobmanager.memory.process.size: 1600m

# TaskManager JVM heap 内存大小

taskmanager.memory.process.size: 1728m

# 每个 TaskManager 提供的任务 slots 数量大小

taskmanager.numberOfTaskSlots: 2

#是否进行预分配内存,默认不进行预分配,这样在我们不使用flink集群时候不会占用集群资源

taskmanager.memory.preallocate: false

# 程序默认并行计算的个数

parallelism.default: 1

#JobManager的Web界面的端口(默认:8081)

jobmanager.web.port: 8081

修改fink-conf.yml

注意:修改yml格式的配置文件时,key和value之间必须得有一个空格

masters

workers

2.5 配置环境变量并分发文件

使环境变量起作用

source /etc/profile

分发文件

分发flink

分发 环境变量 配置文件




三 、测试任务

启动集群

查看web ui

启动历史服务器

standalone集群的测试任务——单词计数

flink run examples/batch/WordCount.jar --input hdfs://hadoop001:9000/input/ --output hdfs://hadoop001:9000/output/result.txt




四、总结

总结本次技术应用中可积累的代码和经验

技术经验

有待提升

  • 写下第一条经验
  • ......
  • 记录遇到的阻塞点
  • ......