Как передать параметры конфигурации в образ Flink Docker через docker-compose.yml? - PullRequest
0 голосов
/ 27 сентября 2019

Я хочу передать ниже параметры конфигурации в docker-compose.yml для образа док-станции flink.

state.checkpoints.dir: s3://.../flink/checkpoint
state.savepoints.dir: s3://.../flink/savepoint
s3.access-key: ...
s3.secret-key: ...
jobmanager.execution.failover-strategy: region

Может ли кто-нибудь помочь мне с этим?

образ докера - flink: 1.9.0

1 Ответ

0 голосов
/ 27 сентября 2019

Монтирование папки конфигурации в контейнер

Вы можете создать том, который монтирует папку из хост-системы в расположение конфигурации Flink в контейнере Docker.

Flink Operations Playground делает это для передачи пользовательской конфигурации в образ Flink Docker.

Запись для JobManager в docker-compose.yaml может выглядеть следующим образом:

  jobmanager:
    image: flink:1.9-scala_2.11
    command: "jobmanager.sh start-foreground"
    ports:
      - 8081:8081
    volumes:
      - ./conf:/opt/flink/conf
    environment:
      - JOB_MANAGER_RPC_ADDRESS=jobmanager

Будет смонтирована папка ./conf (которая должна находиться рядом с файлом docker-compose.yaml) в /opt/flink/conf в контейнере Docker, из которого FLink берет свою конфигурацию.

Передача аргументов через переменную среды

Альтернативой может быть передача аргументов конфигурации через переменную среды.

Сценарий docker-entrypoint.sh, который используется для запускаКонтейнер Flink, кажется, добавляет содержимое переменной FLINK_PROPERTIES в файл конфигурации.Тем не менее, я еще не использовал этот подход.

...