我有一个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代码是扩展基类“Executor”的python文件。我已经实现了Executor类的launchTasks方法,它只是执行executor应该做的事情。
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"发布于 2015-05-28 12:36:30
你能提供更多关于你的执行者应该做什么的细节(充其量是ExecutorInfo定义和执行者本身)吗?用来启动执行器的命令(CommandInfo)是什么?
例如,executor的定义可以看一下Rendler。它包括sample executor和ExecutorInfo definition。Rendler还包括Java、GO、Python、Scala和Haskell的示例。
https://stackoverflow.com/questions/30494267
复制相似问题