2017-01-31 3 views
1

Не удается подключиться к Cassandra DB. Я попытался с номером порта 9042, но он бросает исключение приводится нижеCassandra DB Connection Issue

java.sql.SQLNonTransientConnectionException: org.apache.thrift.transport.TTransportException: Read a negative frame size (-2097152000)!. 

Благодаря тому, что я использую номер порта 9160 для того же. Но это дает мне ниже исключения

[main] ERROR org.bigsql.cassandra2.jdbc.CassandraConnection - Impossible to connect to server Server Name : org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection timed out: connect 

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

URL="jdbc:cassandra://server name:9160/schema"; 
address =address; 
user=Username; 
pass=Password; 
Class.forName("org.bigsql.cassandra2.jdbc.CassandraDriver"); 
conn = DriverManager.getConnection(URL,user,pass); 
+0

какая версия cassandra? какой драйвер (и версия) вы используете? вы уверены, что эти две версии совпадают? – JChrist

+0

Привет, JChrist, Спасибо за ответ. Я использую драйвер Cassandra 2.1-2. Я использую cassandra-2.1-2.jdbc41.jar для того же самого. Вместо использования классов для datastax (cassandra-driver-mapping-3.0.2.jar). Я использую драйвер bisql.cassandra2. –

+0

Вы проверили, существует ли какой-либо брандмауэр, останавливающий ваши подключения? – JChrist

ответ

2

URL не исправим у вас есть проблемы в этом URL:

URL="jdbc:cassandra://server name:9160/schema"; 

Вот синтаксис вы должны следовать:

jdbc:cassandra://host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[keyspace][?options]] 

Так, например:

URL="jdbc:cassandra://10.6.99.99:9160/dbname"; 

So вместо server name вам следует указать @IP вашей базы данных или нужного хоста.

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

Взгляните:

EDIT

Как @Mark Rotteveel говоря: ..Or порт неправильно, или порт не открыт на аксессуарах sible IP-адрес для этого имени хоста

поэтому убедитесь, что этот порт открыт на доступном IP-адресе для этого имени хоста.

+0

Я имею в виду ip-адрес или ** правильный хост ** @MarkRotteveel, нормально я его отредактирую –

+0

Если честно, когда я читаю что-то вроде 'jdbc: cassandra: // имя сервера: 9160/schema', я просто предполагаю, что' имя сервера 'является анонимизацией для защиты виновных;). –

+0

mmm, это все еще случай, потому что в ошибке есть это сообщение ** Невозможно подключиться к серверу Имя сервера: ** для этого я предположил, что он не меняет его, или он установил неправильный хост, @MarkRotteveel i'm неправильно? –