【Ambari Plus】12.Flink 安装

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

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

本次角色分配如下:

主机 Flink 角色
hadoop1.test.com FLINK_HISTORYSERVERFLINK_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.comhadoop2.test.comhadoop3.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,安装后再一起检查计算入口和历史服务。

相关推荐
牛奶咖啡133 小时前
大数据Hadoop运维应用实践——HIVE与Hadoop实现整合_Hive的配置安装与使用
大数据·hive·hive的配置与安装·metastore服务的配置·hiveserver2服务配置·hive的常用sql操作·beeline的使用
Zhu7581 天前
在k8s集群环境部署高可用的Apache Hadoop3.1.1定制版集群
hadoop·kubernetes
还有你Y2 天前
软件工程架构
hadoop·架构·软件工程
向夏威夷 梦断明暄2 天前
基于Tez引擎的 Hive SQL 性能优化
hive·sql·性能优化
abcy0712134 天前
flink datastream调用8种分区策略实例
flink
yqj2345 天前
Flink集群配置与部署全攻略
大数据·flink
abcy0712135 天前
spark核心组件
flink·spark
Apache Flink6 天前
全模态入湖,把大模型接入实时湖仓:Flink OSS CDC + DLF Paimon 实现零代码以图搜图
大数据·flink
曾阿伦6 天前
Windows 下运行 Hadoop 并部署到 AWS EMR 指南
hadoop·windows·aws
极光代码工作室7 天前
基于Spark的日志监控与分析平台
大数据·hadoop·python·spark·数据可视化