go - 连接到 Cassandra 时获取 "gocql: no response to connection startup within timeout"

标签 go cassandra gocql

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

gocql: unable to dial control conn [hostIP]: gocql: 超时内连接启动无响应

panic :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()
}

谁能指出我可能遗漏了什么?

最佳答案

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

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

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

我通过设置 cluster.DisableInitialHostLookup 解决了它为真

关于go - 连接到 Cassandra 时获取 "gocql: no response to connection startup within timeout",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48575804/

相关文章:

go - 寻找一种在golang mysql中查看内插查询的方法

gocql 阻塞太多并发读取请求(golang,Cassandra)

go - 为什么我找不到任何遵循标准 src/pkg/bin 结构的 go 包?

arrays - 从 JSON 数组列表中检索未知的键名和值

database - 在 Cassandra 中存储上次触摸时间的最佳方式

mysql - 找到 MySQL 和 Cassandra 的正确路径

oracle - 将数据从 Oracle 移动到 Cassandra 和/或 MongoDB

windows - 无法创建连接到 Cassandra 的 session

go - 如果在 gocql 中不存在,如何插入

go - uint64 是否需要 8 个字节的存储空间?