Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 粗粒介观星团上通过卡夫卡接收器的火花流_Apache Spark_Spark Streaming_Mesos_Mesosphere - Fatal编程技术网

Apache spark 粗粒介观星团上通过卡夫卡接收器的火花流

Apache 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

我已经在Mesos
0.28
集群上使用kafka接收器,以粗粒度模式运行Spark Streaming
1.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我想你想要的是:它被广泛讨论,甚至有一个公共关系,但它没有被接受,理由是它将不同于纱线所能提供的。我不知道今天的情况。