尝试使用gocql(Go:1.8.3)连接到Cassandra(v 3.10.0)。这是错误

gocql:无法拨号控制conn [hostIP]:gocql:在超时时间内未响应连接启动

紧急情况:gocql:无法创建 session :控制:无法连接至初始主机:gocql:超时时间内无响应连接启动

这是代码...

func test() {
    cluster := gocql.NewCluster("hostIP")
    cluster.ProtoVersion = 4
    cluster.Authenticator = gocql.PasswordAuthenticator{
        Username: "<username>",
        Password: "<password>",
    }
    cluster.Keyspace = "myspace"
    cluster.Consistency = gocql.One
    session, err := cluster.CreateSession()
    if err != nil {
        panic(err)
    }
    defer session.Close()
}

谁能指出我可能会想念的东西?

最佳答案

好的..这已解决。发布以防最终帮助某人

通过使用ConnectTimeoutcluster.ConnectTimeout = time.Second * 10解决了第一个错误

然后我得到了这个错误(使用gocql_debug找到)-unable to dial "<internal VM IP>": dial tcp <internal VM IP>:9042: i/o timeout(更多here)

我通过将cluster.DisableInitialHostLookup设置为true来解决了

10-08 11:05