Ich habe Prototyping Spark-Streaming 1.6.1
mit Kafka-Empfänger auf einem Mesos 0.28
Cluster mit groben genarbten Modus.Spark-Streaming durch Kafka-Empfänger auf Grobkorn Mesos-Cluster
Ich habe 6 Mesos Sklaven jeweils mit 64GB RAM and 16 Cores
.
Mein Kafka-Thema hat 3 Partitionen.
Mein Ziel ist es, 3 Executoren zu starten (jeder auf einem anderen Mesos-Slave), wobei jeder Executor einen Kafka-Empfänger hat, der von einer Kafka-Partition liest.
Wenn ich meine Spark-Anwendung mit spark.cores.max
auf 24 und spark.executor.memory
auf 8GB gesetzt starte, bekomme ich zwei Executoren - mit 16 Kernen auf einem Slave und mit 8 Kernen auf einem anderen Slave.
Ich suche 3 Executoren mit je 8 Kernen auf drei verschiedenen Slaves. Ist das mit Mesos durch Ressourcenreservierung/-isolierung, Constraints etc. möglich?
Die einzige Problemumgehung, die jetzt für mich funktioniert, besteht darin, jeden Mesos-Slave-Knoten so zu verkleinern, dass er nur maximal 8 Kerne hat. Ich möchte Mesos nicht im feinkörnigen Modus aus Leistungsgründen verwenden, und die Unterstützung wird bald verschwinden.
meine Motivation für die Verbreitung von N Testamentsvollstrecker über N Mesos Sklaven -> so dass kafka Empfänger wird über die Arbeiter verteilt beherbergt so gleichmäßig wie möglich von den kafka Partitionen über separate Netzwerkschnittstellen – rohit
@rohit Ich denke, zu lesen, dass Sie wollen das: https://issues.apache.org/jira/browse/SPARK-4940 Es wurde ausführlich diskutiert und es gab sogar eine PR dafür, aber es wurde nicht akzeptiert mit der Begründung, dass es anders wäre was YARN anbieten konnte. Ich kenne den Status heute nicht. – maasg