如何使用多节点Cassandra集群设置Spark?

时间:2017-08-10 14:38:55

标签: apache-spark cassandra spark-cassandra-connector

首先,我使用DSE Cassandra 。我正在构建这个并使用Microsoft Azure来托管服务器。

我有一个2节点的Cassandra集群,我设法在单个节点上设置Spark,但我找不到任何有关在多节点集群上设置它的在线资源。

这不是how to setup spark Cassandra multi node cluster?

的副本

要在单个节点上进行设置,我已按照本教程" Setup Spark with Cassandra Connector"进行了操作。

1 个答案:

答案 0 :(得分:5)

这里有两个高级任务:

  1. 设置Spark(单节点或群集);
  2. 设置Cassandra(单节点或群集);
  3. 这个任务是不同的,没有关系(如果我们不讨论数据局部性)。 如何在群集中设置Spark,您可以在此处找到Architecture overview。 通常有两种类型(独立,直接在主机上设置Spark,或使用任务调度程序(Yarn,Mesos)),您应该根据您的要求。 当你自己构建时,我想你会使用Standalone installation。一个节点之间的区别是网络通信。默认情况下,Spark在localhost上运行,更常见的是它使用FQDNS名称,因此您应该在/ etc / hosts和 hostname -f 中配置它或尝试IP。 查看this page,其中包含节点通信所需的所有端口。所有端口都应该在节点之间打开并可用。 请注意,默认情况下,Spark会将TorrentBroadcastFactory与随机端口一起使用。

    对于Cassandra,请参阅此文档:12,教程3等。 您可能需要4。你也可以使用docker containers在Mesos中使用Cassandra。

    P.S。如果数据位置是你的情况,你应该想出你的东西,因为也不是Mesos,也不是Yarn不会为靠近Cassandra分区的分区数据运行火花作业。