粗粒Mesos星团上kafka接收器的Spark流

m528fe3b  于 2021-06-26  发布在  Mesos
关注(0)|答案(1)|浏览(309)

我一直在制作Spark流的原型 1.6.1 在mesos上使用kafka接收机 0.28 以粗粒度模式运行的集群。
我有6个奴隶 64GB RAM and 16 Cores .
我的Kafka主题有三个分区。
我的目标是总共启动3个执行器(每个执行器在不同的mesos从机上),每个执行器有一个kafka接收器从一个kafka分区读取数据。
当我启动spark应用程序时 spark.cores.max 设置为24和 spark.executor.memory 设置为8gb,我得到两个执行器—一个从机上有16个核,另一个从机上有8个核。
我期待着得到3个执行者与8个核心各在三个不同的奴隶。通过资源保留/隔离、约束等,是否可以使用mesos?
现在唯一适合我的解决方法是缩小每个mesos从节点的规模,使其最多只有8个内核。出于性能原因,我不想在细粒度模式下使用mesos,而且它的支持很快就会消失。

vddsk6oq

vddsk6oq1#

中间层促成了以下Spark:https://github.com/apache/spark/commit/80cb963ad963e26c3a7f8388bdd4ffd5e99aad1a. 这一改进将在spark 2.0中实现。mesosphere已经将这一点和spark 1.6.1的其他改进后端口,并使其在dc/os中可用(http://dcos.io).
这个补丁在航向增益模式中引入了一个新的“spark.executor.cores”配置变量。设置“spark.executor.cores”配置变量后,将使用指定的核心数调整执行器的大小。
如果一个报价带有(spark.executor.memory,spark.executor.cores)的倍数,那么该报价将启动多个executors。这意味着在同一mesos代理节点上可以有多个但独立的spark执行器。
目前还没有办法将执行者分散到介子代理上。我们简要地讨论了添加跨nMesos代理传播spark执行器的能力,但得出的结论是,在提高可用性方面,它买不到太多东西。
你能帮助我们了解你在3个mesos代理商中传播spark executors的动机吗?很可能我们没有考虑所有可能的用例和优点。
基思

相关问题