执行cpp驱动程序datastax时出现协议错误

执行cpp驱动程序datastax时出现协议错误,c,cassandra,datastax,C,Cassandra,Datastax,我目前正在用C编写datastax cpp驱动程序,当我遇到一个非常小的问题时,我正在处理一些示例。在尝试在此处执行时,我发现出现了此错误,代码执行受阻 错误: 1587040775.210 [ERROR] (cluster_connector.cpp:192:void datastax::internal::core::ClusterConnector::on_connect(datastax::internal::core::ControlConnector*)): Unable to es

我目前正在用C编写datastax cpp驱动程序,当我遇到一个非常小的问题时,我正在处理一些示例。在尝试在此处执行时,我发现出现了此错误,代码执行受阻

错误:

1587040775.210 [ERROR] (cluster_connector.cpp:192:void datastax::internal::core::ClusterConnector::on_connect(datastax::internal::core::ControlConnector*)): Unable to establish a control connection to host 127.0.0.3 because of the following error: Underlying connection error: Connect error 'connection refused'
1587040775.210 [ERROR] (cluster_connector.cpp:192:void datastax::internal::core::ClusterConnector::on_connect(datastax::internal::core::ControlConnector*)): Unable to establish a control connection to host 127.0.0.2 because of the following error: Underlying connection error: Connect error 'connection refused'
1587040775.211 [ERROR] (cluster_connector.cpp:192:void datastax::internal::core::ClusterConnector::on_connect(datastax::internal::core::ControlConnector*)): Unable to establish a control connection to host 127.0.0.1 because of the following error: Underlying connection error: Received error response 'Invalid or unsupported protocol version (66); supported versions are (3/v3, 4/v4, 5/v5-beta)' (0x0200000A)
1587040775.211 [WARN] (cluster_connector.cpp:289:void datastax::internal::core::ClusterConnector::on_connect(datastax::internal::core::ControlConnector*)): Host 127.0.0.1 does not support protocol version DSEv2. Trying protocol version DSEv1...
1587040775.212 [ERROR] (cluster_connector.cpp:192:void datastax::internal::core::ClusterConnector::on_connect(datastax::internal::core::ControlConnector*)): Unable to establish a control connection to host 127.0.0.1 because of the following error: Underlying connection error: Received error response 'Invalid or unsupported protocol version (65); supported versions are (3/v3, 4/v4, 5/v5-beta)' (0x0200000A)
1587040775.212 [WARN] (cluster_connector.cpp:289:void datastax::internal::core::ClusterConnector::on_connect(datastax::internal::core::ControlConnector*)): Host 127.0.0.1 does not support protocol version DSEv1. Trying protocol version v4...
我的机器不支持哪些协议?此外,在出现最后一个警告(即
尝试协议v4
时)后,它会被卡住。 我使用的是Casssandra 3.10+,Cpp驱动程序2.13


任何有解决办法或解决方案的人都会有很大帮助。提前感谢

我已经找了很多文档来支持这一点,但是我找不到任何文档,所以这部分只是猜测。服务器版本3似乎使用协议V3。看起来服务器版本4(仍处于测试阶段)将使用协议V4。我怀疑V5是一个正在计划中的未来迭代,但还没有用石头写出来(以及为什么在警告中标记为beta)

这部分不是猜测。 如果在连接到群集之前将其添加到代码中:

cass_cluster_set_protocol_version(cluster, CASS_PROTOCOL_VERSION_V3);

所有关于降级到不同协议的警告都应该消失。

错误消息似乎很详细,顺序也很清楚(
无法建立到主机127.0.0.3的控制连接,原因是以下错误:基础连接错误:连接错误“连接被拒绝”
字面解释为您无法连接。请确保您引用了正确的地址,传递了正确的凭据,并且有足够的privilege获取连接。@Ryker好的,看来我们在这里有点不确定。我提供了所用脚本的链接。正如您所看到的,它已经在使用localhost进行连接。这正是我正在做的。此外,凭据是正确的,所以一切都是正确的。我猜您没有阅读整个错误。后来它说有一个unsupported protocol issue here.对于未拒绝连接的主机aka
127.0.0.1
。如果拒绝连接是我的问题,我不会在标题中写一个小错误和协议错误,先生。它工作正常!默认情况下,驱动程序似乎使用CASS_protocol_VERSION_DSEV1=0x41和CASS_protocol_VERSION_DSEV2=0x42,这两个版本是:“仅在将DSE驱动程序与DataStax Enterprise一起使用时受支持”