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

Roy*_*eIX 8 cassandra apache-spark spark-cassandra-connector

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

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

这不是如何设置spark Cassandra多节点集群的重复?

要在单个节点上进行设置,我已经按照本教程" 使用Cassandra Connector设置Spark "进行了操作.

ego*_*nko 6

你有两个高级任务:

  1. 设置Spark(单节点或集群);
  2. 设置Cassandra(单节点或集群);

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

对于卡桑德拉看到这个文档:1,2,辅导3等,您将需要4可能.你也可以使用docker 容器在Mesos中使用Cassandra .

ps如果数据位置是你的情况你应该拿出你的东西,因为Mesos和Yarn也不会为接近Cassandra分区的分区数据处理运行的spark工作.