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

问题描述 投票:0回答:1

我们尝试使用Jupyter笔记本电脑使用bash脚本连接群集:

!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")

如何将两者互连?请帮我。

python-3.x cassandra gcloud spark-cassandra-connector
1个回答
0
投票

据我所知,您正在通过SSH连接到Google Compute(GCP)实例(正在运行Cassandra),然后尝试运行Python脚本来连接到本地节点。我在您的cql.connect行中看到两个问题。

首先,Cassandra不将端口9160用于CQL。 CQL使用端口9042。我发现这一点使人们感到非常困惑,以至于[[我不建议设置port=全部。驱动程序将使用默认值,该默认值应该可以使用。

第二,如果将Cassandra部署到GCP实例,则可能更改了listen_addressrpc_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。

tl; dr;

    不指定端口。
  1. 连接到外部IP地址,因为127.0.0.1将永远无法使用。
© www.soinside.com 2019 - 2024. All rights reserved.