Я порождаю искровую группу, используя функцию лазури внутри лазурной сети.Каждый искровой узел находится в отдельной группе экземпляров контейнера Azure.Вот как это работает: я порождаю группу ACI главного узла и получаю ее IP-адрес, а затем порождаю группы ACI подчиненных узлов.Я передаю IP-адрес мастер-узлов при порождении рабочих.Но проблема, с которой я столкнулся, заключалась в том, что, если я отправлял работу с помощью spark submit, работа не могла быть завершена, и я получал следующие ошибки:
19/05/08 13:35:26 INFO BlockManagerMaster: Removal of executor 1 requested
19/05/08 13:35:26 INFO CoarseGrainedSchedulerBackend$DriverEndpoint: Asked to remove non-existent executor 1
19/05/08 13:35:26 INFO StandaloneAppClient$ClientEndpoint: Executor added: app-20190508133523-0015/2 on worker-20190508124850-10.0.0.6-33015 (10.0.0.6:33015) with 1 core(s)
19/05/08 13:35:26 INFO StandaloneSchedulerBackend: Granted executor ID app-20190508133523-0015/2 on hostPort 10.0.0.6:33015 with 1 core(s), 1024.0 MB RAM
19/05/08 13:35:26 INFO StandaloneAppClient$ClientEndpoint: Executor updated: app-20190508133523-0015/2 is now RUNNING
19/05/08 13:35:28 INFO StandaloneAppClient$ClientEndpoint: Executor updated: app-20190508133523-0015/2 is now EXITED (Command exited with code 1)
19/05/08 13:35:28 INFO StandaloneSchedulerBackend: Executor app-20190508133523-0015/2 removed: Command exited with code 1
19/05/08 13:35:28 INFO BlockManagerMasterEndpoint: Trying to remove executor 2 from BlockManagerMaster.
19/05/08 13:35:28 INFO BlockManagerMaster: Removal of executor 2 requested
19/05/08 13:35:28 INFO CoarseGrainedSchedulerBackend$DriverEndpoint: Asked to remove non-existent executor 2
19/05/08 13:35:28 INFO StandaloneAppClient$ClientEndpoint: Executor added: app-20190508133523-0015/3 on worker-20190508124850-10.0.0.6-33015 (10.0.0.6:33015) with 1 core(s)
19/05/08 13:35:28 INFO StandaloneSchedulerBackend: Granted executor ID app-20190508133523-0015/3 on hostPort 10.0.0.6:33015 with 1 core(s), 1024.0 MB RAM
19/05/08 13:35:28 INFO StandaloneAppClient$ClientEndpoint: Executor updated: app-20190508133523-0015/3 is now RUNNING
19/05/08 13:35:30 INFO StandaloneAppClient$ClientEndpoint: Executor updated: app-20190508133523-0015/3 is now EXITED (Command exited with code 1)
19/05/08 13:35:30 INFO StandaloneSchedulerBackend: Executor app-20190508133523-0015/3 removed: Command exited with code 1
19/05/08 13:35:30 INFO BlockManagerMasterEndpoint: Trying to remove executor 3 from BlockManagerMaster.
19/05/08 13:35:30 INFO BlockManagerMaster: Removal of executor 3 requested
19/05/08 13:35:30 INFO CoarseGrainedSchedulerBackend$DriverEndpoint: Asked to remove non-existent executor 3
19/05/08 13:35:30 INFO StandaloneAppClient$ClientEndpoint: Executor added: app-20190508133523-0015/4 on worker-20190508124850-10.0.0.6-33015 (10.0.0.6:33015) with 1 core(s)
19/05/08 13:35:30 INFO StandaloneSchedulerBackend: Granted executor ID app-20190508133523-0015/4 on hostPort 10.0.0.6:33015 with 1 core(s), 1024.0 MB RAM
19/05/08 13:35:30 INFO StandaloneAppClient$ClientEndpoint: Executor updated: app-20190508133523-0015/4 is now RUNNING
19/05/08 13:35:32 INFO StandaloneAppClient$ClientEndpoint: Executor updated: app-20190508133523-0015/4 is now EXITED (Command exited with code 1)
19/05/08 13:35:32 INFO StandaloneSchedulerBackend: Executor app-20190508133523-0015/4 removed: Command exited with code 1
19/05/08 13:35:32 INFO BlockManagerMasterEndpoint: Trying to remove executor 4 from BlockManagerMaster.
19/05/08 13:35:32 INFO BlockManagerMaster: Removal of executor 4 requested
После многих исследований я обнаружил, чтоЯ должен сделать запись в файл / etc / hosts каждого узла обо всех узлах в кластере примерно так:
10.0.0.4 spark-master
10.0.0.5 spark-worker-1
10.0.0.6 spark-worker-2
10.0.0.7 spark-driver
Я сделал записи, как указано выше, вручную, а затем заданиебыл выполнен успешно.
Однако, как я могу сделать вышеупомянутые записи программно (используя саму функцию Azure), т.е. Как я могу получить IP-адрес и имя хоста каждого узла в кластере и сделать записи для каждого из них вФайл / etc / hosts всех остальных узлов после запуска экземпляров контейнера Azure?