Я установил три узла Cassandra (cas1, cas2 и cas3) в три центра обработки данных (DC1, DC2 и DC3) через докер.Я хочу установить сеанс на cas1 с использованием Java API, но он не может подключиться и выдает исключение.
Я пытался настроить порт вручную и искать доступные решения, но они не работали.
Создание cas1:
docker run --name cas1 -p 19041:9042 -e CASSANDRA_CLUSTER_NAME=MyCluster -e CASSANDRA_ENDPOINT_SNITCH=GossipingPropertyFileSnitch -e CASSANDRA_DC=DC1 -e CASSANDRA_RACK=RAC1 -d cassandra
Код Java:
InetAddress addr = InetAddress.getByName("172.17.0.2");
InetSocketAddress addrSoc = new InetSocketAddress(addr,19041);
CqlSession session = CqlSession.builder().addContactPoint(addrSoc).build();
Ожидаемый результат: сеанс должен быть установлен.
Ошибка:
datastax.oss.driver.api.core.AllNodesFailedException: Не удалось связаться с какой-либо точкой контакта, убедитесь, что вы указали действительные адреса (показаны первые 1, используйте getErrors (), чтобы узнать больше: com.datastax.oss.driver.internal.core.metadata.DefaultNode @ 605c5ab0 (null, / 172.17.0.2: 19041): com.datastax.oss.driver.api.core.connection.ConnectionInitException: [s0 | control | connect ...] запрос init STARTUP: запись ошибки)