当我使用rcasandra包连接到cassandra数据库时,连接正在建立。但是当尝试使用任何键空间时,r没有响应。图书馆(桑德拉)rc<-rc.connect(主机=“localhost”,端口=9042)rc.use(rc,“db1”,cache.def=true)有什么建议吗
dluptydi1#
您的问题是,您直接指定端口,并且使用本机协议的端口,而rcasandra使用thrift协议(使用端口9160),因此当它与端口9042通信时,它根本不明白它说了什么。所以你要么 port 参数,或将其指定为 9160 ,并确保 start_rpc 参数设置为 true 在 cassandra.yaml .我查看了RCASandra的源代码,发现它已经5年多没有更新了。由于它使用节俭而不是本机协议,因此与使用本机协议相比,您有许多限制。对节俭的支持将在下一个主要版本的cassandra-4.0中被删除。更好的选择是围绕DataStaxC/c++驱动程序编写一个 Package 器,并将底层功能公开给r。
port
9160
start_rpc
true
cassandra.yaml
1条答案
按热度按时间dluptydi1#
您的问题是,您直接指定端口,并且使用本机协议的端口,而rcasandra使用thrift协议(使用端口9160),因此当它与端口9042通信时,它根本不明白它说了什么。所以你要么
port
参数,或将其指定为9160
,并确保start_rpc
参数设置为true
在cassandra.yaml
.我查看了RCASandra的源代码,发现它已经5年多没有更新了。由于它使用节俭而不是本机协议,因此与使用本机协议相比,您有许多限制。对节俭的支持将在下一个主要版本的cassandra-4.0中被删除。更好的选择是围绕DataStaxC/c++驱动程序编写一个 Package 器,并将底层功能公开给r。