Apache spark 粗粒介观星团上通过卡夫卡接收器的火花流
我已经在MesosApache spark 粗粒介观星团上通过卡夫卡接收器的火花流,apache-spark,spark-streaming,mesos,mesosphere,Apache Spark,Spark Streaming,Mesos,Mesosphere,我已经在Mesos0.28集群上使用kafka接收器,以粗粒度模式运行Spark Streaming1.6.1 我有6个mesos从机,每个从机具有64GB RAM和16个内核 我的卡夫卡主题有3个分区。 我的目标是总共启动3个执行器(每个执行器位于不同的mesos从机上),每个执行器都有一个kafka接收器从一个kafka分区读取数据 当我启动spark应用程序时,spark.cores.max设置为24,spark.executor.memory设置为8GB,我得到两个执行器-一个从机上有1
0.28
集群上使用kafka接收器,以粗粒度模式运行Spark Streaming1.6.1
我有6个mesos从机,每个从机具有64GB RAM和16个内核
我的卡夫卡主题有3个分区。
我的目标是总共启动3个执行器(每个执行器位于不同的mesos从机上),每个执行器都有一个kafka接收器从一个kafka分区读取数据
当我启动spark应用程序时,spark.cores.max
设置为24,spark.executor.memory
设置为8GB,我得到两个执行器-一个从机上有16个核,另一个从机上有8个核
我希望得到3个执行器,每个执行器在三个不同的从机上有8个内核。通过资源保留/隔离、限制等,mesos是否可能实现这一点
现在唯一适合我的解决办法是缩小每个mesos从节点的规模,使其最多只有8个核心。出于性能原因,我不想在细粒度模式下使用mesos,而且它的支持很快就会消失。Mesosphere为Spark提供了以下补丁:。这一改进将在Spark 2.0中实现。Mesosphere已将此改进和其他改进向后移植到Spark 1.6.1,并使其在DC/OS()中可用
这个补丁在课程增益模式中引入了一个新的“spark.executor.cores”配置变量。当设置“spark.executor.cores”配置变量时,将使用指定数量的内核调整执行器的大小
如果一个报价包含多个(spark.executor.memory、spark.executor.cores),则该报价将启动多个executor。这意味着可能有多个但独立的Spark执行器在同一Mesos代理节点上运行
(目前)没有办法将执行者分布到N个Mesos代理。我们简要讨论了添加在N Mesos代理中传播Spark executors的能力,但得出结论认为,在提高可用性方面,这并没有带来太多好处
您能帮助我们了解您将Spark executors推广到3家Mesos代理商的动机吗?我们可能没有考虑所有可能的用例和优点
Keith我将N个执行器分散在N个Mesos从机上的动机->这样卡夫卡接收器就可以分散在工作主机上,甚至可以通过单独的网络从卡夫卡分区读取数据interfaces@rohit我想你想要的是:它被广泛讨论,甚至有一个公共关系,但它没有被接受,理由是它将不同于纱线所能提供的。我不知道今天的情况。