Как подключить мое Java-приложение к Cassandra, работающему через докер? - PullRequest
0 голосов
/ 12 июня 2018

У меня есть следующий код Java:

String serverIP = "127.0.0.1";  
String keyspace = "testkeyspace"; 
Cluster cluster = Cluster.builder().addContactPoints(serverIP).build();  
Session session = cluster.connect(keyspace);

, который я пытаюсь использовать для проверки моего соединения с Cassandra.

У меня Cassandra локально установлена ​​на моей собственной машине, и подключениетам успешно.Мой проект maven использует следующее

spring-data-cassandra 2.0.6.RELEASE

Однако, когда я пытаюсь подключить Java-приложение к Cassandra, запущеннойДокер (с моей локальной остановленной кассандрой) я сталкиваюсь со следующей ошибкой:

Все хосты попытались выполнить запрос (попытка: /127.0.0.1:9042 (com.datastax.driver.core).exceptions.TransportException: [/127.0.0.1:9042] Не удается подключиться))

Я не знаю, неверен ли мой IP-адрес, но на моем докере CQLSH при каждом открытии моего CQLSH пишется следующее сообщение:

Подключено к тестовому кластеру по адресу 127.0.0.1:9042.[cqlsh 5.0.1 |Кассандра 3.11.2 |CQL spec 3.4.4 |Собственный протокол v4] Используйте HELP для помощи.

Пожалуйста, помогите, я, должно быть, что-то здесь упустил.Спасибо!

1 Ответ

0 голосов
/ 12 июня 2018

Просто добавьте мой ответ здесь, так как он был принят в качестве комментария, чтобы помочь другим с такой же проблемой.

Вы должны открыть свой контейнерный порт Cassandra Docker для localhost с помощью:

docker run -p 9042:9042 cassandra:latest

Cassandra теперь должна быть доступна на localhost:9042

...