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

Как подключить Cassandra к localhost с помощью cqlsh?

Я устанавливаю rpc_port на общедоступный IP-адрес, и теперь я могу подключиться к Cassandra просто отлично от внешнего сервера.

Однако я не могу соединиться с самим сервером Cassandra, используя cqlsh

Я получаю сообщение об ошибке. Это:

 Connection error: Could not connect to localhost:9160

Есть ли конфигурация, которую я могу изменить, чтобы иметь возможность подключиться с самого сервера?

4b9b3361

Ответ 1

  • Обычно проверьте cassandra.yaml файл в строке с rpc_port : по умолчанию = 9160
  • Войдите в систему хостинга cassandra
  • Попробуйте cqlsh 127.0.0.1 9160: должно быть хорошо в любом случае
  • try cqlsh [IP of host] 9160: если ok, то cassandra достижим из lan, если ok, то cassandra недоступен из lan, а только localhost 127.0.0.1

Ответ 2

Вам необходимо подключиться к кассандре через rpc_address, определенную в cassandra.yaml. Например, я использую cqlsh 10.0.80.49 9160.

Ответ 3

Рассмотрим изменение /etc/cassandra.yaml:

# Whether to start the thrift rpc server.
start_rpc: false

к

start_rpc: true

Ответ 4

если вы видите это в журналах cassandra:

INFO  [main] 2015-07-21 12:06:27,426 CassandraDaemon.java:406 - Not starting RPC server as requested. Use JMX (StorageService->startRPCServer()) or nodetool (enablethrift) to start it

то просто откройте терминал и

$ nodetool enablethrift

как указано в сообщении INFO. Должна работать. Получил это, когда моя система обновилась до cassandra 2.2.0

Ответ 5

Если вы на OSX

brew install cassandra

Сначала запусти Кассандру

cassandra

Start the Cassandra Подключение через оболочку CQL

cqlsh 127.0.0.1

enter image description here

Ответ 6

Возможно, сначала запустите cassandra на вашей локальной машине с помощью bin/cassandra -f?

Ответ 7

Он не слушает 127.0.0.1, так как вы сказали ему слушать только <public IP>. Сделайте адрес прослушивания 0.0.0.0 для прослушивания по всем адресам (или просто опустите его, если это возможно, поскольку обычно это значение по умолчанию). См. Listening Sockets.NET tutorial или любое другое учебное пособие по сокету, чтобы получить базовое представление о привязке сокетов.

Обновить (@c45556037):

Обратите внимание, что listen_address - это тот, который используется другими узлами для подключения к этому (вводящее в заблуждение имя). rpc_address - это фактический адрес для локальной привязки. Это неясно из 2.0 docs и лучше объясняется в 1.0 docs.

Ответ 8

Я столкнулся с такой же ситуацией при запуске cqlsh. Я получил следующую ошибку при запуске cassandra

Введите только ---- cassandra ----- в терминал.

он отобразит все банки и файлы журналов. если терминал зависает, просто выйдите из него, а затем введите cqlsh. то он войдет в cassandra cli.

Это сработало для меня

Ответ 9

Исключение соединения с localhost/9160. причина: подключение отказано

Соединение отказалось от режима classandra cli.

перейти в корневой каталог cassandra:

bin/cassandra -- host {host-ip} --port {9160}

если у вас возникли проблемы с этим, проверьте свой каталог {cassandra-root-directory}/conf/cassandra.yaml

транзакция ip или rpc_address - это адрес, используемый как host-ip для подключения к cli. сделайте его локальным IP-адресом, и если у вас возникли проблемы с подключением с помощью порта 9160, попробуйте изменить rpc_port на 8070 и теперь попробуйте подключиться к режиму cassandra-cli с помощью команды

bin/cassandra --host {local-IP} --port 8070

Это сработало для меня, надеюсь, что это сработает и для вас.

Ответ 10

для 2.0.5 для меня работает следующее.

   $CASSANDRA_HOME/bin/cqlsh xx.xx.xxx.xxx 9160

Ответ 11

Для решения проблемы выполните приведенный ниже запрос

#!/bin/bash
export CASSANDRA_HOME=/opt/apache-cassandra-2.1.8
export CQLSH_HOST=192.168.1.200
export CQLSH_PORT=9042
echo [email protected]
$CASSANDRA_HOME/bin/cqlsh [email protected]'    

Обязательно измените IP-адрес и местоположение каталога cassandra Home

Ответ 12

Используйте эту команду

sudo service cassandra start

чтобы запустить cassandra, а затем используйте

cqlsh command

Ответ 13

Рассмотрим изменение /etc/cassandra -env.sh:

JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.ssl=true"
not "true" but "false"
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.ssl=false"

sudo service cassandra restart

Ответ 14

Как изменить порт по умолчанию 9042 в Кассандре?

Я решил проблему, используя следующие шаги:

1) Остановить услуги Кассандара

sudo su -
systemctl stop datastax-agent
systemctl stop opscenterd
systemctl stop app-dse

2) Возьмите резервную копию и измените порт с 9042 на 9035

cp /opt/dse/resources/cassandra/conf/cassandra.yaml /opt/dse/resources/cassandra/conf/bkp_cassandra.yaml
vi /opt/dse/resources/cassandra/conf/cassandra.yaml

native_transport_port: 9035

3) Запустить услуги Кассандры

systemctl start datastax-agent
systemctl start opscenterd
systemctl start app-dse

4) создать файл cqlshrc.

vi  /root/.cassandra/cqlshrc

[connection]
hostname = 198.168.1.100
port = 9035