我有一个200节点的mesos集群,可以同时运行2700个执行器。大约有5-10%的遗嘱执行人一开始就失踪了。它们只在提取executor 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/'
请让我知道是否有人面临这个问题。
我使用python来实现调度器和执行器。executor代码是一个python文件,它扩展了基类executor。我实现了executor类的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条答案
按热度按时间dfuffjeb1#
你能提供更多关于你的执行者应该做什么的细节吗(充其量是executorinfo定义和执行者本身)?您用来启动执行器的命令是什么(commandinfo)?
例如,执行者的定义请看rendler。它包括一个示例executor和executrinfo定义。rendler还包括java、go、python、scala和haskell中的示例。