在生产集群上限制 Spark Cassandra 连接器的读取

在生产集群上限制 Spark Cassandra 连接器的读取

我们目前在生产环境中运行一个 24 节点 Cassandra 集群,该集群可容纳 30TB 的数据,并且每天 24 小时处理平均每分钟 10 万个请求的实时负载。我们支持多个合作伙伴。我们的一个合作伙伴即将离开我们的组织,因此我们必须筛选他们的数据并将其迁移到他们自己的集群中。我们用 Java 编写了 Apache Spark 实用程序来迁移大约 6TB 的数据。

我们在具有 1 个主实例和 3 个从实例(R4.4XLarge EC2 实例)的 Spark 集群上提交了 Spark 作业,但这影响了我们的实时负载,因为我们看到大量写入超时,因此我们不得不停止该程序(这在我们的 Staging ENV 中运行良好,具有 10TB 的数据和 20K RPM 的实时负载)。

我们如何才能以不给实时运行的 Cassandra 集群造成巨大负载的方式实现此作业?Spark 集群的理想工作器、核心和内存数量是多少?

相关内容