2016-07-24 3 views
1

В моей теме можно сказать, что это дублированный вопрос, но разве нет. Я пробовал все возможные способы поиска этой проблемы, но не смог решить мою проблему.Не удается подключиться к Cassandra с удаленного хоста

У меня Windows 8.1 работает на моем ПК. Я установил версию Ubuntu 16.04 как виртуальную машину, используя Hyper-V. Я установил Cassandra 3.7 в свою систему Ubuntu.

Cassandra удалось подключить с локального хоста, то есть от системы Ubuntu. Я создал пространство ключей и все, но когда я пытаюсь подключить Casandra из моего кода golang, как показано ниже, я получаю ошибку.

пакет главный

import (
    "fmt" 
    "log" 

    "github.com/gocql/gocql" 
) 

func main() { 
    // connect to the cluster 
    cluster := gocql.NewCluster("192.168.137.217") //Put comma separated IPs in case of multiple cluster 
    cluster.Keyspace = "broker_keyspace" 
    cluster.Consistency = gocql.Quorum 
    session, _ := cluster.CreateSession() 
    defer session.Close() 
} 

192.168.137.217 мой IP-адрес виртуальной машины. Ошибка, которую я получаю, говорит, что порт 9042 не разрешен для подключения. Этот код, который я пытаюсь запустить из моей системы Windows 8.1 (которая является хостом для виртуальной машины, где работает Cassandra). Я попытался подключиться к telnet и обнаружил, что порт 9042 не является открытым хостом для подключения.

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

nodetool status 

Общая конфигурация Я имею в моем файле cassandra.yaml, как показано ниже.

rpc_address: localhost 
listen_address: localhost 

Я также раскомментировал ниже строки в файле /etc/cassandra/cassandra-env.sh и обновляется имя общественности к 127.0.0.1.

# add this if you're having trouble connecting: 
JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=127.0.0.1" 

Я перезагрузил Кассандру с помощью Service Кассандры рестарта, но когда я пытаюсь статус nodetool это дает ниже ошибки.

nodetool: Не удалось подключиться к «127.0.0.1:7199» - ConnectException: «Соединение отказано».

Извините за длинный вопрос, но, пожалуйста, помогите, я действительно устал от проблемы, очень стараюсь с последних 6-7 часов.

Спасибо ..

ответ

1

Вы пробовали не использовать Localhost и на самом деле, используя адрес 192.168.137.217 для всего - JMX, ПКР, слушать и т.д ..? Будет ли это проблемой? Кроме того, если предположить, что это всего лишь виртуальная машина VM на вашем ПК, возможно, проверьте, что брандмауэр выключен?

+0

спасибо за ответ. Мне пришлось снова установить новую версию Cassandra. Я изменил listen_address, broadcast_address на IP, о котором я упоминал. Он начал работать.Похоже на некоторые изменения конфигурации, которые я сделал, но не смог вернуть их обратно. –

0

Для решения указанных проблем вы можете выполнить следующие шаги.

Измените следующие параметры в cassandra.yaml (etc/cassandra/cassandra.yaml)

- start_rpc: true 
- rpc_address: 0.0.0.0 

и раскомментируйте

broadcast_rpc_address: 1.2.3.4 
Смежные вопросы