执行者向 Mesos master 注册是否有超时?

Is there a timeout for an executor to register with Mesos master?

我有一个 200 节点的 mesos 集群,可以同时 运行 大约 2700 个执行程序。我的执行者中大约有 10-20% 在一开始就迷路了。他们只会在提取执行程序 tar 文件之前进行。

    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/'

我的执行程序 tar 球非常大(大约 40 MB 左右),大多数需要 30 多秒下载的执行程序都丢失了。 mesos master 是否会等待所有执行程序直到某个时间段才能注册并在执行程序未能注册时将其标记为丢失?

执行者详细信息:

我正在使用 python 来实现调度器和执行器。执行程序代码是一个扩展基础 class 'Executor' 的 python 文件。我已经实现了 Executor class 的 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"

带有从属的执行器的默认超时为 1 分钟,可以使用 --executor_registration_timeout 从属标志更改。

来自Mesos Configuration

--executor_registration_timeout=VALUE Amount of time to wait for an executor to register with the slave before considering it hung and shutting it down (e.g., 60secs, 3mins, etc) (default: 1mins)