如何连接到不同DC中的多个Cassandra



我正在设置一个应用程序,其中我正在使用 Spark 会话从 Cassandra 读取数据。如果我从 dc 传递一个 Cassandra 节点,我能够从 Cassandra 读取数据。但是我如何连接到 3 个不同的 Cassandra 节点,这些节点在 Spark 会话中属于 3 个不同的 dc。

这是我使用的代码:

火花会议

spark = SparkSession.builder().appName("SparkCassandraApp")
                .config("spark.cassandra.connection.host", cassandraContactPoints)
                .config("spark.cassandra.connection.port", cassandraPort)
                .config("spark.cassandra.auth.username", userName).config("spark.cassandra.auth.password", password)
                .config("spark.dynamicAllocation.enabled", "false").config("spark.shuffle.service.enabled", "false")
                .master("local[4]").getOrCreate();

属性文件 :

spring.data.cassandra.contact-points=cassandra1ofdc1, cassandra2ofdc2, cassandra3ofdc3
spring.data.cassandra.port=9042

当我尝试上述情况时,我收到以下异常:引起:

java.lang.IllegalArgumentException: requirement failed: Contact points contain multiple data centers: dc1, dc2, dc3

任何帮助将不胜感激

提前谢谢。

Spark

Cassandra连接器(SCC(允许仅使用本地数据中心的节点,这些节点由spark.cassandra.connection.local_dc配置参数定义,或由接触点的DC确定(由功能LocalNodeFirstLoadBalancingPolicy.determineDataCenter执行(。 较新的 SCC 将使用来自其他 DC 的节点...

相关内容

  • 没有找到相关文章

最新更新