我有一個具有3個代理節點的DCOS集羣;我很少有像DCOS上運行火花的服務。DCOS集羣縮放
- 如果我擴大我的DCOS集羣,做我需要擴展我的火花以及 (因爲如果我添加了一個4節點DCOS集羣,當我運行的火花 工作,主機可分配資源火花作業在 第四個節點上運行,火花沒有安裝,因此會失敗)?
在我的觀察,我發現,作業提交到Mesos主看到任何節點。
- 有沒有一種方法可以指定Spark作業不在某些節點上運行?
我有一個具有3個代理節點的DCOS集羣;我很少有像DCOS上運行火花的服務。DCOS集羣縮放
- 如果我擴大我的DCOS集羣,做我需要擴展我的火花以及 (因爲如果我添加了一個4節點DCOS集羣,當我運行的火花 工作,主機可分配資源火花作業在 第四個節點上運行,火花沒有安裝,因此會失敗)?
在我的觀察,我發現,作業提交到Mesos主看到任何節點。
- 有沒有一種方法可以指定Spark作業不在某些節點上運行?
動態分配可能會有幫助,但我從來沒有使用過它:
http://spark.apache.org/docs/latest/running-on-mesos.html#dynamic-resource-allocation-with-mesos
http://spark.apache.org/docs/latest/job-scheduling.html#dynamic-resource-allocation
要安裝DC/OS星火包裝的多發的情況下,每個 service.name設置一個唯一名稱(例如:「火花開發」)在您的JSON 配置文件,在安裝過程中:
{
"service": {
"name": "spark-dev"
}
}
從DC/OS星火CLI使用特定星火實例:
$ dcos config set spark.app_id <service.name>
https://docs.mesosphere.com/1.8/usage/service-guides/spark/install/
在1上,我期望DCOS能夠自動理解Spark的安裝位置並相應地分配資源。否則,如果我有500個節點的DCOS羣集,我可能不得不在每個節點都安裝Spark,這是不好的。你認爲在這種情況下服務發現會有所幫助嗎? – learninghuman
如果您使用DCOS,則不需要在每個節點上手動安裝Spark,而是使用DCOS CLI安裝Spark'包',該DCOS CLI負責手動提升。道歉,如果我誤導你。 Spark發行版由Docker鏡像處理。至少在默認的DCOS安裝上它有。 – ImDarrenG
如果我在DC/OS上安裝Spark軟件包,我已經看到它根據所需實例的數量安裝在集羣中的節點上。 Spark不會安裝在所有節點上,也就是說,如果羣集中有100個節點,並且如果我只安裝5個實例的火花,那麼它將只安裝在最多5臺機器上。現在的問題是,當Spark作業被提交時,Mesos會將資源分配給Spark未安裝的節點。因此它失敗了。我已經看到了這種情況,我希望DC/OS只在安裝了Spark的節點上分配資源。思考? – learninghuman
至於downvote沒有解釋供給,我upvoting回零。 – ImDarrenG