【Flink】记录Flink 任务单独设置配置文件而不使用集群默认配置的一次实践

前言

我们的大数据环境是 CDP 环境。该环境已经默认添加了Flink on Yarn 的客户端配置。 我们的 Flink 任务类型是 Flink on Yarn 的任务。

默认的配置文件是在 /etc/flink/conf 目录下。如今我们的需求是个别任务提供的配置仅用于配置执行参数,例如影响作业的配置参数,而不是底层集群。

那么我们改如何实现呢。

Flink获取conf目录(Flink配置)的顺序:

  1. 查找FLINK_CONF_DIR环境变量。
  2. 查找.../conf目录。
  3. 查找conf目录。

具体实现

这里我们参考了官网的实现方式,链接如下:

bash 复制代码
https://nightlies.apache.org/flink/flink-docs-release-1.13/docs/deployment/config/

我们这里要实现的功能是对任务自定义 log4j.properties 配置,而不使用集群默认的配置。

可以通过设置环境变量 FLINK_CONF_DIR 来指定 log4j.properties 文件的位置。这样,Flink 将在该目录下查找 log4j.properties 文件并使用其中的配置。

以下是通过环境变量设置 FLINK_CONF_DIR 的例子:

bash 复制代码
export FLINK_CONF_DIR=/path/to/your/config

然后,可以运行 Flink 作业:

bash 复制代码
flink run -c your.main.Class /path/to/your/job.jar

确保 /path/to/your/config 目录中包含正确配置的 log4j.properties 文件。如果没有指定 FLINK_CONF_DIR,Flink 将使用默认的配置。

查看是否生效

当任务成功启动后,我们打开 flink dashbord,点击 Job Manager ,查看 $internal.deployment.config-dir 配置是否更改。

观察 logging.configuration.file 配置是否也变更。

成功。

相关推荐
Elastic 中国社区官方博客3 小时前
JavaScript 中的 ES|QL:利用 Apache Arrow 工具
大数据·开发语言·javascript·elasticsearch·搜索引擎·全文检索·apache
lifallen5 小时前
Flink task、Operator 和 UDF 之间的关系
java·大数据·flink
源码宝6 小时前
智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
java·大数据·源码·智慧工地·智能监测·智能施工
XiaoQiong.Zhang7 小时前
简历模板3——数据挖掘工程师5年经验
大数据·人工智能·机器学习·数据挖掘
Faith_xzc8 小时前
Apache Doris FE 问题排查与故障分析全景指南
大数据·数据仓库·apache·doris
潘小磊9 小时前
高频面试之6Hive
大数据·hive·面试·职场和发展
数据与人工智能律师10 小时前
当机床开始“思考”,传统“制造”到“智造”升级路上的法律暗礁
大数据·网络·算法·云计算·区块链
摘星编程11 小时前
华为云Flexus+DeepSeek征文 | 模型即服务(MaaS)安全攻防:企业级数据隔离方案
大数据·人工智能·安全·华为云·deepseek
木鱼时刻12 小时前
从大数据到大模型:我们是否在重蹈覆覆辙
大数据
liuze40813 小时前
VMware虚拟机集群上部署HDFS集群
大数据·hadoop·hdfs