首先,我使用DSE Cassandra 不。我正在构建这个并使用Microsoft Azure来托管服务器。
我有一个2节点的Cassandra集群,我设法在单个节点上设置Spark,但我找不到任何有关在多节点集群上设置它的在线资源。
这不是how to setup spark Cassandra multi node cluster?
的副本要在单个节点上进行设置,我已按照本教程" Setup Spark with Cassandra Connector"进行了操作。
答案 0 :(得分:5)
这里有两个高级任务:
这个任务是不同的,没有关系(如果我们不讨论数据局部性)。 如何在群集中设置Spark,您可以在此处找到Architecture overview。 通常有两种类型(独立,直接在主机上设置Spark,或使用任务调度程序(Yarn,Mesos)),您应该根据您的要求。 当你自己构建时,我想你会使用Standalone installation。一个节点之间的区别是网络通信。默认情况下,Spark在localhost上运行,更常见的是它使用FQDNS名称,因此您应该在/ etc / hosts和 hostname -f 中配置它或尝试IP。 查看this page,其中包含节点通信所需的所有端口。所有端口都应该在节点之间打开并可用。 请注意,默认情况下,Spark会将TorrentBroadcastFactory与随机端口一起使用。
对于Cassandra,请参阅此文档:1,2,教程3等。 您可能需要4。你也可以使用docker containers在Mesos中使用Cassandra。
P.S。如果数据位置是你的情况,你应该想出你的东西,因为也不是Mesos,也不是Yarn不会为靠近Cassandra分区的分区数据运行火花作业。