当在 Spark (0.7.0) 中停止整个集群时
$SPARK_HOME/bin/stop-all.sh
并非所有工作人员都正确停止。 更具体地说,如果我想重新启动集群
$SPARK_HOME/bin/start-all.sh
我得到:
host1: starting spark.deploy.worker.Worker, logging to [...]
host3: starting spark.deploy.worker.Worker, logging to [...]
host2: starting spark.deploy.worker.Worker, logging to [...]
host5: starting spark.deploy.worker.Worker, logging to [...]
host4: spark.deploy.worker.Worker running as process 8104. Stop it first.
host7: spark.deploy.worker.Worker running as process 32452. Stop it first.
host6: starting spark.deploy.worker.Worker, logging to [...]
在host4和host7上,确实有一个StandaloneExecutorBackend仍在运行:
$ jps
27703 Worker
27763 StandaloneExecutorBackend
28601 Jps
简单地重复
$SPARK_HOME/bin/stop-all.sh
不幸的是,这也无法阻止 worker 。 Spark 只是告诉我工作人员即将停止:
host2: no spark.deploy.worker.Worker to stop
host7: stopping spark.deploy.worker.Worker
host1: no spark.deploy.worker.Worker to stop
host4: stopping spark.deploy.worker.Worker
host6: no spark.deploy.worker.Worker to stop
host5: no spark.deploy.worker.Worker to stop
host3: no spark.deploy.worker.Worker to stop
没有spark.deploy.master.Master
停止
但是,
$ jps
27703 Worker
27763 StandaloneExecutorBackend
28601 Jps
另有说法。
有人知道 stop-all.sh
如何正常工作吗?
谢谢。
最佳答案
原因似乎是缓存整个数据集的尝试导致 Worker 机器大量交换。在这种情况下,工作机器的数量对于数据集来说太小了。
关于scala - Spark独立模式: Workers not stopping properly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17172041/