DC / OS SMACK集群资源管理

时间:2016-05-18 10:07:20

标签: apache-spark spark-streaming mesos mesosphere dcos

我正在尝试使用1个主实例和3个私有AWS m3.xlarge实例(每个实例具有4个处理器,15GB RAM)来设置DC / OS Spark-Kafka-Cassandra集群。

我对我几天前所做的一些奇怪行为有疑问。

在每个私有节点上,我都保留了固定资源(我说的是CPU使用情况,内存不是问题)

  • 每个节点上的Cassandra的0.5个CPU
  • 0.3 - 0.5 CPU为Kafka一个每个节点
  • 0.5 CPU是Mesos开销(我只是在DC / OS UI中看到它占用的节点比节点上运行的所有服务的总和多0.5CPU)>这可能属于某种Mesos开销)
  • 我可用于运行Spark作业(大约2.5个CPU)的其余资源

现在,我想运行2个流式传输作业,以便它们在群集的每个节点上运行。这需要我在 dcos spark run 命令中设置执行器的数量是3(尽管我在集群中有3个节点),以及那个CPU核心数是3(不可能设置) 1或2,因为据我所知,每个执行程序的最小CPU是1)。当然,对于每个流作业,集群中的1个CPU被驱动程序占用。

  

我看到的第一个奇怪的情况是,Mesos在2个节点上启动2个执行器而不是每个运行3个执行器,其中一个有2个CPU,而另一个有1个CPU。第三个节点上没有启动,即使有足够的资源。如何强制Mesos在集群上运行3个执行程序?

     

此外,当我运行带有3个CPU的1个管道时,我看到这些CPU被阻止,并且不能被其他流管道重用,即使它们没有做任何工作负载。为什么Mesos无法在应用程序之间转移可用资源?这不是使用Mesos的主要好处吗?或者可能只是没有足够的资源可以转移?

EDITED

另外一个问题是我可以为每个执行程序分配少于一个CPU吗?

最诚挚的问候,

斯尔詹

0 个答案:

没有答案