如何使用python从gcloud集群连接cassandra

igetnqfo  于 2021-06-10  发布在  Cassandra
关注(0)|答案(1)|浏览(321)

我们尝试使用bash脚本和jupyter笔记本连接集群:

!gcloud compute --project "project_name" ssh --zone "us-central1-a" "cassandra-abc-m"

之后,我们尝试使用以下方式连接:

import cql
con= cql.connect(host="127.0.0.1",port=9160,keyspace="testKS")

cur=con.cursor()
result=cur.execute("select * from TestCF")

如何连接两者?请帮帮我。

h4cxqtbf

h4cxqtbf1#

据我所知,您正在运行一个googlecompute(gcp)示例(运行cassandra),然后尝试运行一个python脚本来连接到本地节点。我看到你的工作中有两个问题 cql.connect 线路。
首先,cassandra不将端口9160用于cql。cql使用端口9042。我发现这一点让人非常困惑,所以我建议不要设置 port= 完全。驱动程序将使用默认值,这应该可以工作。
其次,如果您将cassandra部署到gcp示例中,那么您可能会改变 listen_address 以及 rpc_address . 这意味着cassandra不能绑定到127.0.0.1。您需要使用yaml中定义的值 rpc_address (或 broadcast_rpc_address )财产。

$ grep rpc_address cassandra.yaml
rpc_address: 10.19.17.5

在我的例子中,如果我想连接本地或远程,我需要指定10.19.17.5。
热释光;博士;
不要指定端口。
连接到面向外部的ip地址,因为127.0.0.1永远不会工作。

相关问题