Как сохранить apache Flink Checkpoint в файловой системе NFS - PullRequest
0 голосов
/ 09 апреля 2020

Я извлекаю поток данных из RabbitMQ, используя Apache Flink 1.10.0, теперь я использую конфигурацию контрольной точки по умолчанию в памяти. Теперь, чтобы восстановить его после перезапуска диспетчера задач, мне нужно сохранить состояние и контрольную точку в файловой системе, все демонстрационные сообщения должны использовать «hdfs: // namenode: 4000 / ....», но теперь у меня нет кластера HDFS, мой Apache Flink работает в кластере kubernetes, как сохранить мою контрольную точку в файловой системе?

Я прочитал документы из Apache Flink и сказал мне, что он поддерживает:

  • Постоянный (или длительный) источник данных, который может воспроизводить записи в течение определенного периода времени. Примерами таких источников являются постоянные очереди сообщений (например, Apache Kafka, RabbitMQ, Amazon Kinesis, Google PubSub) или файловые системы (например, HDFS, S3, GFS, NFS, Ceph,…).

  • Постоянное хранилище для состояния, обычно это распределенная файловая система (например, HDFS, S3, GFS, NFS, Ceph,…)

как настроить flink для использования NFS для хранить контрольно-пропускной пункт и состояние? Я ищу в интернете и не нахожу истории об этом решении.

1 Ответ

1 голос
/ 09 апреля 2020

Чтобы использовать NFS для создания контрольных точек с помощью Flink, вы должны указать каталог контрольных точек , используя file: URI, который доступен из каждого узла в кластере (диспетчер заданий и все диспетчеры задач должны иметь доступ, используя тот же URI).

Так, например, вы можете смонтировать свой том NFS на /data/flink/checkpoints на каждой машине, а затем указать

state.checkpoints.dir: file:///data/flink/checkpoints
...