我的主题行可能会说这是一个重复的问题,但它不是。我尝试了所有可能的方式来搜索这个问题,但未能解决我的问题。无法从远程主机连接到Cassandra
我在我的电脑上运行Windows 8.1。我已经使用Hyper-V将Ubuntu 16.04版本安装为VM。我在我的Ubuntu系统上安装了Cassandra 3.7。
Cassandra能够从本地主机,即从Ubuntu系统进行连接。我创建了keyspace和all,但是当我试图从我的golang代码连接Casandra时,我收到了错误消息。
包主要
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"
我重新开始使用服务卡桑德拉重启卡桑德拉,但是当我试图nodetool状态它给下面的错误。
nodetool:无法连接到'127.0.0.1:7199' - ConnectException:'连接被拒绝'。
对不起,长期的问题,但请帮助我真的厌倦了这个问题,努力从最近6-7小时努力。
谢谢..
谢谢回答。我不得不再次安装新的Cassandra版本。我确实改变了listen_address,broadcast_address到我提到的IP它开始工作。看起来像我做了一些配置更改,但未能恢复它。 –