【Ambari Plus】12.Flink 安装

Flink 在这套环境里主要接入 YARN 运行。安装时会部署 FLINK_HISTORYSERVER 和 FLINK_CLIENT,HistoryServer 用来看已完成作业,Client 用来提交 Flink 任务。

本篇环境已经安装 HDFS、YARN、MapReduce2、Tez、Hive、Kafka,并且开启了 Kerberos。Flink 依赖 YARN,所以先确认 ResourceManager、NodeManager 都是运行中,再开始安装。

本次角色分配如下:

主机 Flink 角色
hadoop1.test.com FLINK_HISTORYSERVER、FLINK_CLIENT
hadoop2.test.com FLINK_CLIENT
hadoop3.test.com FLINK_CLIENT

::: warning

Kerberos 环境里,Flink 的 security.kerberos.login.principal 要和 YARN 本地运行用户匹配。教程环境使用 flink@TEST.COM,对应系统用户是 flink。如果你改成类似 flink-xxx@REALM 的租户化 principal,就要确保所有 NodeManager 节点都存在这个本地用户,否则 Service Check 提交到 YARN 后会失败。

:::

进入 服务与组件 ,点击 新增服务 ,勾选 Flink。

页面会显示 Flink 依赖 YARN。前面已经安装并启动 YARN,所以这里可以直接下一步。

Master 分配页里,Flink 的常驻服务端角色是 FLINK_HISTORYSERVER。

本次把 HistoryServer 放在 hadoop1.test.com:

组件 主机 说明
FLINK_HISTORYSERVER hadoop1.test.com 用于展示 Flink 已完成作业。

Flink on YARN 的 JobManager / TaskManager 会随作业提交到 YARN,不在 Ambari 里作为固定常驻组件分配。

Slave 与 Client 分配页里,Flink 没有 Slave 组件,主要分配 FLINK_CLIENT。

本次三台主机都安装 Client:

组件 分配主机
FLINK_CLIENT hadoop1.test.com、hadoop2.test.com、hadoop3.test.com

这样后续可以在任意节点上执行 flink 命令。如果生产环境只允许边缘节点提交任务,也可以只把 Client 放在边缘节点。

进入自定义配置页后,页面会显示 Flink 的配置分组。

先确认 待填写 0。我会重点看这些配置:

配置项 说明
historyserver.web.port Flink HistoryServer Web 端口,示例环境为 8082。
historyserver.archive.fs.dir 已完成作业归档目录,通常放在 HDFS。
jobmanager.archive.fs.dir JobManager 写入归档的目录。
rest.port Flink REST 端口,示例环境为 8081。
security.kerberos.login.keytab Kerberos keytab 路径。
security.kerberos.login.principal Kerberos principal,需和本地运行用户匹配。

如果后续要跑长任务,建议再根据机器资源调整 JobManager、TaskManager 内存和 slot 数;第一次安装先按推荐配置跑通。

5. 确认安装清单

确认页里会展示 Flink 的角色分配。

本次确认结果如下:

检查项 本次结果
新增服务 FLINK
Master 分配 FLINK_HISTORYSERVER -> hadoop1.test.com
Slave 分配 无
Client 分配 三台主机都有 FLINK_CLIENT
配置校验 必填项已填写

确认无误后点击 开始安装。

6. 提交 Kerberos 管理员凭据

开启 Kerberos 的集群中,新增 Flink 需要提交 KDC 管理员凭据。

提交后,系统会生成 Flink 使用的 keytab,并把配置下发到对应主机。

安装进度页会按主机展示任务。

这个阶段主要看:

阶段 期望结果
Client 安装 三台主机的 FLINK_CLIENT 安装完成。
HistoryServer 安装 hadoop1.test.com 上的 FLINK_HISTORYSERVER 安装完成。
Kerberos keytab 生成并分发完成。
启动服务 Flink History Server 启动完成。
Service Check Flink on YARN 示例任务执行成功。

如果 Service Check 报 User xxx not found,通常是 Kerberos principal 和 YARN 本地运行用户不一致。要么使用已有的 flink 服务用户 principal,要么在所有 NodeManager 节点补齐对应本地用户。

8. 回到服务列表确认状态

回到 服务与组件 页面,Flink 会出现在 资源计算 分类下。

页面里可以看到:

组件 状态
Flink History Server 运行中
Flink Client 客户端

命令行可以做一个版本确认:

sh 复制代码
flink --version

正常会看到类似结果:

text 复制代码
Version: 1.17.2, Commit ID: 13021fc

到这里,Flink 的基础安装完成。下一步继续安装 Spark;Spark 同样依赖 YARN 和 Hive,安装后再一起检查计算入口和历史服务。

相关推荐
Irene199113 小时前
Flink 学习日志 01:前端转大数据的实战避坑指南
java·jvm·flink
ruxshui13 小时前
Hadoop 生产运维实战手册
大数据·运维·hadoop
泡干脆面就番茄14 小时前
Hive窗口函数:从原理到三大面试题
大数据·数据仓库·hive·hadoop
程序员梅雨14 小时前
Hive面试总结
hive·hadoop·面试
Gl�ria1 天前
Flink Yarn-Session Job 相关常用脚本
flink
Norris Huang2 天前
Kafka Connect 与 Flink CDC 写入 Iceberg:Upsert 的代价,以及 S3 Tables 的真正价值
分布式·flink·kafka
用户3610588626122 天前
Flink 优化之 CheckPoint 优化及参数详解:从原理到生产环境调优的完整指南
大数据·flink
ha_lydms3 天前
Datetime Functions(日期时间函数)
大数据·hadoop·阿里云·spark·数据处理·dataworks·maxcompute
ha_lydms3 天前
Bitwise Functions(位运算函数)
大数据·hadoop·阿里云·spark·数据处理·dataworks·maxcompute
用户3610588626123 天前
Flink SQL 之 Flink SQL 企业级案例分析:从实时大屏到用户画像与风控告警的生产实践
大数据·flink