У меня есть экземпляр EC2, который находится в us-east-1b, и на нем запущен диспетчер заданий flink, который отвечает за координацию работы нескольких диспетчеров задач через RPC, и сервер истории. Из netstat я вижу, что диспетчер заданий прослушивает :::6123
входящие соединения диспетчера задач.
У меня есть группа автоматического масштабирования, которая запускает экземпляр EC2 в той же az, подсети и группе безопасности, что и экземпляр EC2.
Группа безопасности разрешает весь трафик на всех портах от любого источника в группе к любому назначению в группе.:
Я использую эту ASG в качестве поставщика пропускной способности для задач ECS. Затем я пытаюсь запустить задачу в ECS, которая запускает диспетчер задач и использует этот ASG.
Диспетчер задач запускается, но не подключается к диспетчеру заданий.:
2021-09-28 13:52:08,651 INFO org.apache.flink.runtime.taskexecutor.TaskExecutor [] - Could not resolve ResourceManager address akka.tcp://flink@ip-xxx-xx-x-xxx.ec2.internal:6123/user/rpc/resourcemanager_*, retrying in 10000 ms: Could not connect to rpc endpoint under address akka.tcp://flink@ip-xxx-xx-x-xxx.ec2.internal:6123/user/rpc/resourcemanager_*.
Я выполнил ssh-d для экземпляра, запущенного ASG, и подтвердил, что могу скрутить диспетчер заданий ip-xxx-xx-x-xxx.ec2.internal:8081
-, он работает. Итак, я знаю, что экземпляр диспетчера задач может видеть экземпляр диспетчера заданий.
Подводя итог:
Почему не удается? моя задача подключиться? Я также пробовал общедоступный IP-адрес (v4)и частный IP-адрес (v4).
Сегодня я обнаружил, почему это не работает.
Диспетчер заданий был настроен с :
jobmanager.rpc.address: localhost
, поэтому, прослушивая правильный порт rpc, он не принимал трафик на любой другой адрес.
Когда я изменил его, чтобы он соответствовал диспетчеру задач :
jobmanager.rpc.address: ip-xxx-xx-x-xxx.ec2.internal
, диспетчер задач сразу подключился.