ОШИБКА Сеанса: Ошибка создания пула к /127.0.0.1:9042

Я пытаюсь вставить значения в Кассандру, когда я сталкиваюсь с этой ошибкой:

15/08/14 10:21:54 INFO Cluster: New Cassandra host /a.b.c.d:9042 added
15/08/14 10:21:54 INFO Cluster: New Cassandra host /127.0.0.1:9042 added
INFO CassandraConnector: Connected to Cassandra cluster: Test Cluster
15/08/14 10:21:54 ERROR Session: Error creating pool to /127.0.0.1:9042
com.datastax.driver.core.TransportException: [/127.0.0.1:9042] Cannot connect
        at com.datastax.driver.core.Connection.<init>(Connection.java:109)
        at com.datastax.driver.core.PooledConnection.<init>(PooledConnection.java:32)
        at com.datastax.driver.core.Connection$Factory.open(Connection.java:586)
        at com.datastax.driver.core.SingleConnectionPool.<init>(SingleConnectionPool.java:76)
        at com.datastax.driver.core.HostConnectionPool.newInstance(HostConnectionPool.java:35)
        at com.datastax.driver.core.SessionManager.replacePool(SessionManager.java:271)
        at com.datastax.driver.core.SessionManager.access$400(SessionManager.java:40)
        at com.datastax.driver.core.SessionManager$3.call(SessionManager.java:308)
        at com.datastax.driver.core.SessionManager$3.call(SessionManager.java:300)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:722)
Caused by: java.net.ConnectException: Connection refused: /127.0.0.1:9042

Мой коэффициент репликации равен 1. В кластере Cass есть 5 узлов (все они работают). rpc_address: 0.0.0.0, broadcast_rpc_address: 127.0.0.1

Я думаю, что я должен увидеть 5 из этих строк "INFO Cluster: New Cassandra host.." сверху для каждого из 5 узлов. Но вместо этого я вижу 127.0.0.1, я не уверен почему.

Я также заметил, что в файле cassandra.yaml все 5 узлов перечислены в семени. (что я знаю, не рекомендуется, но я не настроил этот кластер)

seed_provider:
class_name: org.apache.cassandra.locator.SimpleSeedProvider
parameters:
seeds: "ip1, ip2, ip3, ip4, ip5"

Где ipx - это ipaddr для узла x.

А в cassandra-topology.properties он просто говорит следующее и не упоминает ни один из 5 узлов.

# default for unknown nodes                                                                                                                     

default=DC1:r1

Может кто-нибудь объяснить, почему я вижу сессию ERROR: Ошибка создания пула в /127.0.0.1:9042.

Вид нового для Кассандры.. заранее спасибо!

1 ответ

Решение

Я думаю, что проблема в том, что ваш rpc_broadcast_address установлен на 127.0.0.1. Есть ли причина, в частности, вы делаете это?

Драйвер java использует таблицу system.peers для поиска IP-адреса, используемого для подключения к хостам. Если установлен rpc_broadcast_address, это то, что будет присутствовать в system.peers, и драйвер попытается его использовать. Если rpc_broadcast_address не установлен, будет использоваться rpc_address. В любом случае вы захотите установить один из этих адресов на адрес, который будет доступен вашему клиенту. Если вы установите rpc_address, вы захотите удалить broadcast_rpc_address.

Другие вопросы по тегам