【发布时间】:2020-10-24 19:54:02
【问题描述】:
当我运行 cassandra 作业时,我不断收到 spark 项目的此警告消息
WARN ChannelPool: [s0|/172.17.0.3:9042] Error while opening new channel (ConnectionInitException: [s0|connecting...] Protocol initialization request, step 1 (STARTUP {CQL_VERSION=3.0.0, DRIVER_NAME=DataStax Java driver for Apache Cassandra(R), DRIVER_VERSION=4.5.0, CLIENT_ID=ef6bf95c-e93f-4f59-860a-829ae07e80cb, APPLICATION_NAME=Spark-Cassandra-Connector-local-1593841648738}): failed to send request (java.nio.channels.ClosedChannelException))
我没有看到任何数据丢失,但我也不确定为什么会发生这种情况
我有 3 个节点的 cassandra docker 在我的电脑上运行
cassandra 版本:- 3.11.6 火花版本:- 2.4.6 java : jdk8
键空间信息:
keyspace_name durable_writes replication
mykeyspace true {class=org.apache.cassandra.locator.NetworkTopologyStrategy, datacenter1=1, datacenter2=1}
【问题讨论】:
-
查找 Cassandra 端的错误。例如,您可能没有足够的文件描述符等。
-
嗨@AlexOtt:现在当我仔细查看上面的消息时,我发现配置的 ip 不是它给出的错误。我没有找到我项目中提到的 ip 的任何条目。不知道它来自哪里!当我将 ES ip 的详细信息从 localhost 更改为任何其他 ip 时,也会发生同样的情况
-
驱动程序正在连接到一个节点,然后发现整个集群 - 它可能是 Cassandra 节点之一...
-
也许该 ip 可能是您机器的内部 IP。运行 ipconfig / ifconfig 找出
-
@SuhasNM 这是因为我在另一个系统的 docker 上运行 cassandra,有 3 个节点集群,我的应用程序正在使用系统 ip 连接,这导致了这个问题。
标签: java apache-spark cassandra spark-cassandra-connector