尝试使用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()
}
谁能指出我可能会想念的东西?
最佳答案
好的..这已解决。发布以防最终帮助某人
通过使用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
设置为true来解决了