Flink TaskManager Docker Рой не восстанавливается - PullRequest
0 голосов
/ 15 апреля 2020

Я управляю Flink v1.10 с 1 JobManager и 3 менеджерами задач в Docker Swarm, без Zookeeper. У меня есть работа, забирающая 12 слотов, и у меня 3 ТМ с 20 слотами в каждом (всего 60). После некоторых тестов все прошло хорошо, за исключением одного теста.

Итак, тест не пройден, если я вручную отменяю работу, повторная попытка выполняется второстепенной машиной, а диспетчер задач на консоли браузера не восстанавливается и продолжает уменьшаться.

Более практичный пример, поэтому я выполняю работу, потребляя всего 12 слотов из 60.

  • Веб-консоль показывает мне 48 свободных слотов и 3 ТМ .
  • Я отменяю задание вручную, боковой автомобиль повторно запускает задание, и веб-консоль показывает мне 36 свободных мест и 2 ТМ
  • Ввод задания находится в состоянии сбоя, и слот будет продолжать уменьшаться до 0 свободных слотов и 1 TM показывает на консоли.
  • Решение заключается в уменьшении и увеличении всех 3 ТМ, и все возвращается в нормальное состояние.

Все работает нормально с этой конфигурацией, менеджер по восстановлению восстанавливается, если я его удаляю, или если я увеличиваю или уменьшаю количество ТМ, но если я отменяю работу, ТМ, похоже, теряет связь с JM.

Есть предложения, что я делаю не так?

Вот мой flink-conf.yaml.



env.java.home: /usr/local/openjdk-8
env.log.dir: /opt/flink/
env.log.file: /var/log/flink.log
jobmanager.rpc.address: jobmanager1
jobmanager.rpc.port: 6123

jobmanager.heap.size: 2048m

#taskmanager.memory.process.size: 2048m

#env.java.opts.taskmanager: 2048m
taskmanager.memory.flink.size: 2048m

taskmanager.numberOfTaskSlots: 20

parallelism.default: 2


#==============================================================================
# High Availability
#==============================================================================

# The high-availability mode. Possible options are 'NONE' or 'zookeeper'.
#
high-availability: NONE

#high-availability.storageDir: file:///tmp/storageDir/flink_tmp/
#high-availability.zookeeper.quorum: zookeeper1:2181,zookeeper2:2181,zookeeper3:2181
#high-availability.zookeeper.quorum:


# ACL options are based on https://zookeeper.apache.org/doc/r3.1.2/zookeeperProgrammers.html#sc_BuiltinACLSchemes
# high-availability.zookeeper.client.acl: open

#==============================================================================
# Fault tolerance and checkpointing
#==============================================================================

# state.checkpoints.dir: hdfs://namenode-host:port/flink-checkpoints
# state.savepoints.dir: hdfs://namenode-host:port/flink-checkpoints
# state.backend.incremental: false

jobmanager.execution.failover-strategy: region

#==============================================================================
# Rest & web frontend
#==============================================================================

rest.port: 8080
rest.address: jobmanager1
# rest.bind-port: 8081
rest.bind-address: 0.0.0.0
#web.submit.enable: false

#==============================================================================
# Advanced
#==============================================================================

# io.tmp.dirs: /tmp
# classloader.resolve-order: child-first

# taskmanager.memory.network.fraction: 0.1
# taskmanager.memory.network.min: 64mb
# taskmanager.memory.network.max: 1gb

#==============================================================================
# Flink Cluster Security Configuration
#==============================================================================

# security.kerberos.login.use-ticket-cache: false
# security.kerberos.login.keytab: /mobi.me/flink/conf/smart3.keytab
# security.kerberos.login.principal: smart_user

# security.kerberos.login.contexts: Client,KafkaClient

#==============================================================================
# ZK Security Configuration
#==============================================================================

# zookeeper.sasl.login-context-name: Client

#==============================================================================
# HistoryServer
#==============================================================================

#jobmanager.archive.fs.dir: hdfs:///completed-jobs/
#historyserver.web.address: 0.0.0.0
#historyserver.web.port: 8082
#historyserver.archive.fs.dir: hdfs:///completed-jobs/
#historyserver.archive.fs.refresh-interval: 10000

blob.server.port: 6124
query.server.port: 6125
taskmanager.rpc.port: 6122
high-availability.jobmanager.port: 50010
zookeeper.sasl.disable: true
#recovery.mode: zookeeper
#recovery.zookeeper.quorum: zookeeper1:2181,zookeeper2:2181,zookeeper3:2181
#recovery.zookeeper.path.root: /
#recovery.zookeeper.path.namespace: /cluster_one


1 Ответ

0 голосов
/ 20 апреля 2020

Решением было увеличение размера метапространства в flink-conf.yaml.

Br, Андре.

...