作者:JasonLee实时计算

【Flink 实战系列】Flink 使用 ParameterTool 动态加载外部配置文件

Flink 使用 ParameterTool 动态加载外部配置文件

ceafe89871038b8d1dd74b101ff03d5b

背景介绍

在开发 Flink 任务的时候,会有很多的配置信息,比如连接 Kafka 的时候需要用到的 broker,topic,group id 等信息,通常情况下,我们会有下面几种做法:

  1. 直接在代码里面写死。
  2. 把配置信息维护在一个类里面,所有用到的地方直接引用即可。
  3. 把配置信息放在项目 resource 下面的一个配置文件中,然后从这个配置文件中加载配置。
  4. 把配置文件放在外部,启动任务的时候传入一个路径参数,在代码里面解析配置文件。

前面三种方式的缺点非常明显,每次修改配置都要在代码里面找半天,每次修改配置都需要重新编译打包项目,然后在上传到服务器上,整个过程非常的繁琐,麻烦,浪费时间,哪怕是非常小的改动,比如你只是想换一个 group id 而已,还有一个问题是,所有的任务都共用一套配置信息,不能给不同的任务设置不同的配置信息,比如有这样一个场景,你针对某个业务场景开发了一套通用的代码,每次一个新的需求你只需要修改几个参数就能快速拉起一个实时计算任务,这个时候就需要动态的加载配置信息,前面三种方式都是做不到的,所以我们今天主要介绍的是第四种方式,在提交任务的时候从外部传一个配置文

lock