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



首先,我没有使用DSE Cassandra。我正在自己构建它,并使用Microsoft Azure 来托管服务器。

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

这不是如何设置火花卡桑德拉多节点集群的副本吗?

为了在单个节点上设置它,我遵循了本教程"使用 Cassandra 连接器设置 Spark"。

这里有两个高级任务:

  1. 设置Spark(单节点或群集(;
  2. 设置卡桑德拉(单节点或集群(;

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

对于 Cassandra,请参阅以下文档:1、2、教程 3 等。 您可能需要 4 个。你也可以在 Mesos 中使用 Cassandra,使用 docker 容器。

附言如果数据局部性是你的情况,你应该想出一些你的东西,因为 Mesos 和 Yarn 都不会处理靠近 Cassandra 分区的分区数据的运行 Spark 作业。

最新更新