Как передать и переопределить свойства конфигурации из командной строки в Apache Flink? - PullRequest
0 голосов
/ 04 июня 2019

У нас есть различные ярлыки ключей аутентификации входа в систему Kerberos для нашего кластера hadoop. Могу ли я передать клиенту командной строки путь keytab, а не указывать его в flink-conf.yml? Или любой другой подход к конкретному файлу конфигурации из разных приложений. Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 13 июня 2019

Вы можете переопределить конфигурацию в командной строке, задав аргументы следующим образом:

./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

0 голосов
/ 07 июня 2019

Вы можете переопределить конфигурацию, которая есть в flink-conf.yaml, используя динамические свойства. Во время выполнения команды flink (на пряже) вы можете использовать это:

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