如何从Apache Flink的命令行中传递和覆盖配置属性?

时间:2019-06-04 01:49:47

标签: apache-flink

对于我们的hadoop集群,我们有不同的kerberos登录身份验证密钥标签。我可以通过keytab路径flink命令行客户端,而不是在flink-conf.yml中指定吗?或任何其他方法可以从不同的应用程序获取特定的不同配置文件。非常感谢你!

2 个答案:

答案 0 :(得分:0)

您可以使用动态属性覆盖flink-conf.yaml中的配置。 在纱线上运行flink命令时,可以使用以下命令:

bin/flink run -m yarn-cluster -yD property_name=value User_Jar

答案 1 :(得分:0)

您可以通过以下方式设置参数来覆盖命令行中的配置:

./bin/flink run ./examples/batch/WordCount.jar \
                     --input file:///home/user/hamlet.txt --output file:///home/u

然后,您可以使用ParameterTool在代码中获取此参数。

public static void main(String[] args) throws Exception {
    final ParameterTool command = ParameterTool.fromArgs(args);
    String inputFile = command.getRequired("input");
    String outputFile = command.getRequired("output");
}

参考: https://ci.apache.org/projects/flink/flink-docs-stable/ops/cli.html