У меня есть кластер узлов 200 мезонов, который может одновременно работать около 2700 исполнителей. Примерно 5-10% моих исполнителей являются ПОТЕРЯННЫМИ в самом начале. Они идут только до извлечения файла tar-исполнителя исполнителя.Около 5-10% исполнителей LOST в моей структуре мезос
WARNING: Logging before InitGoogleLogging() is written to STDERR I0617 21:35:09.947180 45885 fetcher.cpp:76] Fetching URI 'http://download_url/remote_executor.tgz' I0617 21:35:09.947273 45885 fetcher.cpp:126] Downloading 'http://download_url/remote_executor.tgz' to '/mesos_dir/remote_executor.tgz' I0617 21:35:57.551722 45885 fetcher.cpp:64] Extracted resource '/mesos_dir/remote_executor.tgz' into '/extracting_mesos_dir/'
Пожалуйста, дайте мне знать, если кто-то другой сталкивается с этой проблемой.
Я использую python для реализации как планировщика, так и исполнителя. Код исполнителя представляет собой файл python, который расширяет базовый класс «Исполнитель». Я применил метод launchTasks класса Executor, который просто выполняет то, что должен делать исполнитель.
Информационный исполнитель является:
executor = mesos_pb2.ExecutorInfo()
executor.executor_id.value = "executor-%s" % (str(task_id),)
executor.command.value = 'python -m myexecutor'
# where to download executor from
tar_uri = '%s/remote_executor.tgz' % (
self.conf.remote_executor_cache_url)
executor.command.uris.add().value = tar_uri
executor.name = 'some_executor_name'
executor.source = "executor_test"
Я заметил, что почти все ПОТЕРЯННЫЕ связки вызываются, когда файл tar-файла исполнителю занимает 40 + секунд для загрузки. Есть ли тайм-аут, перед которым исполнитель должен зарегистрироваться в mesos после загрузки tar-файла и его извлечения? –