带有 ConnectionInitException 的 java 警告消息的 Spark Cassandra 连接器

Spark Cassandra Connector with java WARN message for ConnectionInitException

当我 运行 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 运行ning

卡桑德拉版本:- 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}

回答我自己的问题!

所以要解决这个问题,我们需要进入 docker 网络,并将您的容器 IP 映射到从 eth0 广播到外部世界。

以下 link 可能会有一些帮助

https://docs.docker.com/network/network-tutorial-standalone/

坦率地说,我还没有亲自探索整个 docker 网络,因为在我们的案例中我们最终没有使用 docker for Cassandra。