Подтвердить что ты не робот

Cassandra cqlsh Невозможно подключиться к любым серверам - 127.0.0.1:9160 (закрыто)> уже закрыто

Я установил Cassandra на OSX. При попытке запустить cqlsh из /bin/, я получаю следующую ошибку:

> Connection error: ('Unable to connect to any servers', {'127.0.0.1':
> ConnectionShutdown('Connection <AsyncoreConnection(4522252560)
> 127.0.0.1:9160 (closed)> is already closed',)})

Мне было сложно установить Cassandra, и я использовал brew install cassandra, установил DSE из datastax и загрузил двоичный файл из Apache.

4b9b3361

Ответ 1

Я думаю, что проблема была связана с тем, что предыдущая установка не была должным образом удалена. У моего пользовательского каталога .cassandra были определенные конфигурации по умолчанию, которые, должно быть, были для другой версии, и не удалось запустить cqlsh.

rm -Rf ~/.cassandra

После этого я мог бы правильно запустить cqlsh.

$ bin/cqlsh
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 2.1.2 | CQL spec 3.2.0 | Native protocol v3]
Use HELP for help.
cqlsh> 

Ответ 2

Запуск cassandra помог мне решить проблему:

> cassandra
Cassandra 3.0 and later require Java 8u40 or later.

и:

> java -version
java version "1.7.0_95"
OpenJDK Runtime Environment (IcedTea 2.6.4) (7u95-2.6.4-3)
OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode)

После установки Java 8 он работал.

Ответ 3

Cassandra-2.1 использует 9042 как порт cqlsh. Подключитесь к этому, это порт по умолчанию. Если вы хотите подключиться к порту 9160, то измените его, установив переменную среды CQLSH_PORT и CQLSH_HOST, но для установки этого параметра вы должны изменить rpc_port по умолчанию 9160 на любой другой порт.

Ответ 4

Я столкнулся с этой проблемой, когда пытался подключиться к версии Cassandra 2.0.1, используя cqlsh 5.0.1 [cqlsh 4.1.1 | Cassandra 2.0.11.83 | CQL spec 3.1.1 | ] [cqlsh 5.0.1 | Cassandra 2.1.2 | CQL spec 3.2.0]

Это только одна из причин ошибки "Ошибка подключения: (" Невозможно подключиться к любым серверам ",".

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

Надеемся, что это поможет найти основную причину.

Ответ 5

Ну, я столкнулся с такой же проблемой, и это то, что я сделал на Mac.

$cd /usr/local/Cellar/cassandra/3.10_1/bin/     

Или там, где установлена ​​ваша кассандра.

$cassandra 

это инициализирует всю конфигурацию в вашей локальной системе, чтобы запустить cassandra.

$./cqlsh 

Это позволяет вам ввести режим запроса cql.

Ответ 6

Просто добавьте/измените следующее в cassandra.yaml:

 rpc_address: 127.0.0.1
 seeds: "127.0.0.1"
 listen_address: 127.0.0.1

Обратите внимание, что значения во всех этих полях должны быть одинаковыми. Это означает, что если вы указываете на статический IP-адрес, то следует использовать тот же IP-адрес. И если вы просто указываете localhost, то localhost должен использоваться во всех полях.

Ответ 7

Я попал в беспорядок, поэтому здесь был мой сценарий, если кто-то еще сталкивается с ним:

  • Я следовал этому руководству http://www.datastax.com/2012/01/working-with-apache-cassandra-on-mac-os-x (что несколько устарело).
  • У меня все установлено и работает - все хорошо. Затем я решил загрузить инструменты Datastax Enterprise, чтобы попробовать их.
  • Устранение ошибок во время установки, но установка прошла. Снова следуя приведенному выше руководству, попробовал запустить программу. /datastax -agent, и она не удалась. Решив просто сумку, он запустил деинсталлятор в своей папке установки.
  • Попробовал вернуться в исходную папку cassandra (что я работал на шаге 2) и запустить "sudo./cassandra", тогда я начал получать ошибку JMX (сообщение "Не удалось связать JMX, уже работает Cassandra?" ), который подвел меня к этой ссылке об изменении порта, который я сделал (на самом деле не исправляя проблему, но работая вокруг нее) запускает две версии cassandra на одном компьютере.
  • У вас есть служба сервера, работающая под новым портом, но при попытке установить соединение с клиентом "sudo./cqlsh" не будет работать (получит "Error = none" или пункт назначения не найден).
  • Сделал шаг удаления @Peter, упомянутый выше, и повторил попытку и все еще не работал.
  • Решил вернуться и посмотреть, что держится за исходный порт cassandra, используя который я изменил на шаге 4 Кто слушает данный порт TCP в Mac OS X?
  • Определилось, что JAVA.app висел на нем, поэтому он был убит в Activity Monitor.
  • Повторите команду удаления @Peter, упомянутую выше, и решила скачать стабильную версию (v2.0.13) вместо выпуска dev и снова пройти через учебник с шага 1.
  • Вышел и снова открыл терминал. Ran "sudo./cassandra" - отлично работал под стандартными портами. Откройте другое окно терминала и запустите "sudo./cqlsh", и это также сработало правильно.

Я верю, что между Java, висящим на порту 9042 по умолчанию (возможно, из ошибок установки DataStax), настройках версии/хоста/порта в ~/.cassandra/cqlshrc и использовании dev-версии cassandra все это вызывало меня.

Ответ 8

У меня возникли проблемы с подключением Кассандры от терминала

[Cassandra image]

а затем я попытался подключиться с помощью /usr/local/Cellar/

[Cassandra image]

а затем вызовите cassandra. Затем открыли новый терминал и набрали cqlsh, когда началась Cassandra.

Надеюсь, это также применимо для решения проблемы Кассандры.

Ответ 9

Я решил это в DSE-5.0, отредактировав ниже файл:

vi ~/.cassandra/cqlshrc 

И редактирование ниже настроек на текущий IP-адрес (192.168.1.6) машины, в которой я запущен. В моем случае это мой MacBook.

[connection]
hostname = 192.168.1.6
port = 9042
; factory = cqlshlib.kerberos_ssl.kerberos_ssl_transport_factory

; [kerberos]
; hostname = 192.168.1.6
; service = cassandra
; optional
; principal = bill/[email protected]

Я надеюсь, что это поможет кому-то.

Спасибо,

Чандан

Ответ 10

установить java jdk и установить JAVA_HOME в переменные среды или задать JAVA_HOME = java путь в командной строке.

после

запустите cassandra.bat

он покажет журналы, если вы получите какую-либо ошибку

Ответ 11

Вам нужно запустить Cassandra из директории bin install_location. Например, эта команда запустит Cassandra на переднем плане:

$ ./cassandra -f

Затем откройте другую вкладку терминала (команда + t) и запустите cqlsh

$ ./cqlsh

Ответ 12

Убедитесь, что DEFAULT_HOST = '127.0.0.1' в сценарии cqlsh.py указывает на IP-адрес узла, на котором вы выполнили установку cassandra. В моем случае я установил cassandra на 10.160.1.5, отредактировал вышеуказанный файл, и он начал работать.

Ответ 13

У меня была та же проблема с Cassandra, настроенной с SSL. cqlsh --ssl Решения правильно соединяются.