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.
Ответы
Ответ 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
Решения правильно соединяются.