Как подключить несколько Cassandra в разных DC - PullRequest
0 голосов
/ 24 апреля 2019

Я настраиваю приложение, в котором я использую сеанс spark для чтения данных с Кассандры. Я могу читать данные с Кассандры, если я передаю один узел Кассандры из постоянного тока. Но как я могу подключиться к 3 разным узлам Кассандры, которые принадлежат к 3 разным постоянным токам в сеансе искры.

Вот код, который я использую:

зажигательная сессия

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

Буду признателен за любую помощь

Заранее спасибо.

1 Ответ

0 голосов
/ 24 апреля 2019

Spark Cassandra Connector (SCC) позволяет использовать только узлы из локального центра обработки данных, определенные параметром конфигурации spark.cassandra.connection.local_dc или определяемые по постоянному току точки (точек) контакта (которая выполняется функцией * 1002). *). SCC более новые будут использовать узлы из других DC ...

...