Настройка порта и имени хоста при использовании spark для подключения к cassandra с использованием драйвера datastax - PullRequest
0 голосов
/ 05 июля 2018

В настоящее время я пытаюсь подключиться к базе данных Apache Cassandra, используя Apache Spark (2.3.0,shell), используя драйвер Datastax (datastax:spark-cassandra-connector:2.3.0-s_2.11).

Я использую опцию --conf в командной строке, и когда я пытаюсь выполнить запрос к базе данных, он выдает ошибку, сообщая, что он не может открыть собственное соединение с 127.0.0.1:9042.

.

Шаг 1 (я запускаю эту команду в папке, где находится spark.)

  • # ./bin/spark-shell --conf spark.cassandra-connection.host=localhost spark.cassandra-connection.native.port=32771 --packages datastax:spark-cassandra-connector:2.3.0-s_2.11

Шаг 2 (я выполняю эти шаги в оболочке Scala> Spark)

  • Скала> import com.datastax.spark.connector._
  • Скала> import org.apache.spark.sql.cassandra._
  • scala> val rdd = sc.cassandraTable("market", "markethistory")
  • scala> println(rdd.first)

Шаг 3 (ошибка)

  • java.io.IOException: Failed to open native connection to Cassandra at {127.0.0.1}:9042 + трассировка стека

  • Caused by: com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: localhost/127.0.0.1:9042 (com.datastax.driver.core.exceptions.TransportException: [localhost/127.0.0.1:9042] Cannot connect)) + трассировка стека

Дополнительные примечания:

Обратите внимание, что в сообщении указывается порт 9042.

Я также попытался изменить хост в параметре --conf, и это не меняет вывод ошибки.

Мое основное предположение заключается в том, что мне нужно указать хост и порт в scala, но я не уверен, как, а документация по datastax полностью посвящена их специальному искровому дистрибутиву, и, похоже, он не совпадает.

Вещи, которые я пробовал:

  • spark.cassandra-connection.port=32771
  • spark.cassandra.connection.port=32771
  • spark.cassandra.connection.host=localhost

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

1 Ответ

0 голосов
/ 05 июля 2018

Ответ был двойным;

  • Строки действительно cassandra.connection не cassandra-connection
  • --conf должно быть после --packages

Спасибо @ user8371915 за разницу строк подключения.

...