Datastax Spark Cassandra 连接器:无法建立 SSL 连接:WRONG_VERSION_NUMBER 错误

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

我正在尝试使用 Datastax Spark Cassanra Connector 将 PySpark 数据帧保存到 Cassandra DB。

我设置

spark.cassandra.connection.ssl.enabled
,创建一个 SparkSession 并尝试保存我的数据框。我在 Cassandra 日志中收到以下错误消息:

WARN  [epollEventLoopGroup-5-32] 2023-05-05 16:35:04,962 PreV5Handlers.java:261 - Unknown exception in client networking
io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER
    at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:478)
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
    at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:795)
    at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:480)
    at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:378)
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.base/java.lang.Thread.run(Thread.java:829)

在我的 Python 进程本身中,我收到以下错误消息:

INFO - : java.io.IOException: Failed to open native connection to Cassandra at {10.230.88.101}:9042
INFO -  at com.datastax.spark.connector.cql.CassandraConnector$.com$datastax$spark$connector$cql$CassandraConnector$$createSession(CassandraConnector.scala:168)
INFO -  at com.datastax.spark.connector.cql.CassandraConnector$$anonfun$8.apply(CassandraConnector.scala:154)
INFO -  at com.datastax.spark.connector.cql.CassandraConnector$$anonfun$8.apply(CassandraConnector.scala:154)
INFO -  at com.datastax.spark.connector.cql.RefCountedCache.createNewValueAndKeys(RefCountedCache.scala:32)
INFO -  at com.datastax.spark.connector.cql.RefCountedCache.syncAcquire(RefCountedCache.scala:69)
INFO -  at com.datastax.spark.connector.cql.RefCountedCache.acquire(RefCountedCache.scala:57)
INFO -  at com.datastax.spark.connector.cql.CassandraConnector.openSession(CassandraConnector.scala:79)
INFO -  at com.datastax.spark.connector.cql.CassandraConnector.withSessionDo(CassandraConnector.scala:111)
INFO -  at com.datastax.spark.connector.rdd.partitioner.dht.TokenFactory$.forSystemLocalPartitioner(TokenFactory.scala:98)
INFO -  at org.apache.spark.sql.cassandra.CassandraSourceRelation$.apply(CassandraSourceRelation.scala:276)
INFO -  at org.apache.spark.sql.cassandra.DefaultSource.createRelation(DefaultSource.scala:83)
INFO -  at org.apache.spark.sql.execution.datasources.SaveIntoDataSourceCommand.run(SaveIntoDataSourceCommand.scala:45)
INFO -  at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult$lzycompute(commands.scala:70)
INFO -  at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult(commands.scala:68)
INFO -  at org.apache.spark.sql.execution.command.ExecutedCommandExec.doExecute(commands.scala:86)
INFO -  at org.apache.spark.sql.execution.SparkPlan$$anonfun$execute$1.apply(SparkPlan.scala:131)
INFO -  at org.apache.spark.sql.execution.SparkPlan$$anonfun$execute$1.apply(SparkPlan.scala:127)
INFO -  at org.apache.spark.sql.execution.SparkPlan$$anonfun$executeQuery$1.apply(SparkPlan.scala:155)
INFO -  at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)
INFO -  at org.apache.spark.sql.execution.SparkPlan.executeQuery(SparkPlan.scala:152)
INFO -  at org.apache.spark.sql.execution.SparkPlan.execute(SparkPlan.scala:127)
INFO -  at org.apache.spark.sql.execution.QueryExecution.toRdd$lzycompute(QueryExecution.scala:80)
INFO -  at org.apache.spark.sql.execution.QueryExecution.toRdd(QueryExecution.scala:80)
INFO -  at org.apache.spark.sql.DataFrameWriter$$anonfun$runCommand$1.apply(DataFrameWriter.scala:668)
INFO -  at org.apache.spark.sql.DataFrameWriter$$anonfun$runCommand$1.apply(DataFrameWriter.scala:668)
INFO -  at org.apache.spark.sql.execution.SQLExecution$$anonfun$withNewExecutionId$1.apply(SQLExecution.scala:78)
INFO -  at org.apache.spark.sql.execution.SQLExecution$.withSQLConfPropagated(SQLExecution.scala:125)
INFO -  at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:73)
INFO -  at org.apache.spark.sql.DataFrameWriter.runCommand(DataFrameWriter.scala:668)
INFO -  at org.apache.spark.sql.DataFrameWriter.saveToV1Source(DataFrameWriter.scala:276)
INFO -  at org.apache.spark.sql.DataFrameWriter.save(DataFrameWriter.scala:270)
INFO -  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
INFO -  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
INFO -  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
INFO -  at java.lang.reflect.Method.invoke(Method.java:498)
INFO -  at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)
INFO -  at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)
INFO -  at py4j.Gateway.invoke(Gateway.java:282)
INFO -  at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)
INFO -  at py4j.commands.CallCommand.execute(CallCommand.java:79)
INFO -  at py4j.GatewayConnection.run(GatewayConnection.java:238)
INFO -  at java.lang.Thread.run(Thread.java:750)

如何解决?

python ssl pyspark cassandra spark-cassandra-connector
© www.soinside.com 2019 - 2024. All rights reserved.