繁体   English   中英

Cassandra 连接到 Spark

[英]Cassandra connection to Spark

我正在将 spark 与 Cassandra 连接起来,并将 csv 文件存储在 Cassandra 中,当我输入此命令时出现错误。

 dfprev.write.format("org.apache.spark.sql.cassandra") .options(Map("keyspace"->"sensorkeyspace","table"->"sensortable")).save()

然后我得到了这个错误。

java.io.IOException:无法在 {127.0.0.1}:9042 在 com.datastax.spark.connector.cql.CassandraConnector$.com$datastax$spark$connector$cql$CassandraConnector$$createSession( CassandraConnector.scala:168) 在 com.datastax.spark.connector.cql.CassandraConnector$$anonfun$8.apply(CassandraConnector.scala:154) 在 com.datastax.spark.connector.cql.CassandraConnector$$anonfun$8.apply( CassandraConnector.scala:154) 在 com.datastax.spark.connector.cql.RefCountedCache.createNewValueAndKeys(RefCountedCache.scala:32) 在 com.datastax.spark.connector.cql.RefCountedCache.syncAcquire(RefCountedCache.scala:69)

你在localhost上听 Cassandra 吗? 您可能需要通过在 Spark 配置中指定spark.cassandra.connection.host设置来配置 Cassandra 集群的 IP 地址列表。 有关详细信息,请参阅文档

可能有以下任何一项

  1. Cassandra 服务器可能未在 127.0.0.1:9042 运行

    请使用netstat -an命令检查 cassandra 是否正在监听端口 9042。

  2. fat jar 时可能存在依赖性问题。

    请确保您在库依赖项中添加了正确版本的 cassandra 连接器,例如

    “com.datastax.spark”%%“spark-cassandra-connector”%“2.0.0-M3”

我正在运行此命令。/spark-shell --packages com.datastax.spark:spark-cassandra-connector_2.11:2.0.0-M3 --conf spark.cassandra.connection.host=127.0.0。

要指定的包,

spark-shell --packages "com.datastax.spark":"spark-cassandra-connector_2.11":"2.0.0-M3"

检查这些东西,可能会解决您的问题,1. 通过在 shell 中输入以下命令在您的系统中找到 cqlsh.py 文件

 whereis cqlsh 
  1. 编辑 cqlsh.py 并将默认端口更改为您的 IP

  2. 使用以下 SparkConfig() 启动 spark 上下文

     val conf = new SparkConf().set("spark.cassandra.connection.host", "<YOUR IP>") val sc = new SparkContext(conf)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM