从本地连接到客户端 cassandra

Posted

技术标签:

【中文标题】从本地连接到客户端 cassandra【英文标题】:Connecting to a client cassandra from local 【发布时间】:2017-04-13 17:46:41 【问题描述】:

我正在尝试从已安装在 AWS ec2 中的 cassandra 获取数据。 当我通过 pyspark 运行以下命令时,我可以从 AWS 读取数据, 但是,当我通过 spark-submit 提交相同的 python 文件时,我正在从本地获取 rdd。你能建议我哪里缺少配置吗?

from pyspark import SparkConf, SparkContext
from pyspark.sql.session import SparkSession

conf = SparkConf().setAppName("testCassandra").set("spark.cassandra.connection.host", "#ec2ip#").set("spark.cassandra.connection.port", "9042")

sc = SparkContext(conf = conf)
spark = SparkSession(sc)

rdd = spark.read.format("org.apache.spark.sql.cassandra").options(table="tweettable", keyspace="twitterstorage", ).load().rdd

【问题讨论】:

你想连接什么IP?它应该是节点的公共 IP,应该在您的 yaml 中定义为 listen_addressrpc_address 是的,我已经相应地更改了我的 yaml。是的,我可以通过传递 --conf spark.cassandra.connection.host=ip 作为 spark -submit 的参数来解决这个问题。 【参考方案1】:

我能够通过传递 --conf spark.cassandra.connection.host=ip 作为 spark -submit 的参数来解决这个问题。

【讨论】:

以上是关于从本地连接到客户端 cassandra的主要内容,如果未能解决你的问题,请参考以下文章

如何从 EC2 连接到本地 ***?

如何将TCP连接重新连接到同一端口?

是否可以从本地文件(未发送到服务器)连接到服务器?

进行本地连接时不允许主机连接到此mysql服务器[关闭]

进行本地连接时不允许主机连接到此mysql服务器[关闭]

无法从 Python 应用程序连接到 DataStax Enterprise 集群