无法连接到远程Spark Master - ROR TransportRequestHandler:为单向消息调用RpcHandler#receive()时出错

时间:2017-08-18 11:44:19

标签: scala apache-spark spark-cassandra-connector

前段时间我发布了this question,但结果发现我使用的是本地资源而不是远程资源。

我的远程计算机配置了spark : 2.1.1cassandra : 3.0.9scala : 2.11.6

Cassandra在localhost:9032处配置,并在localhost:7077处点火。

Spark master设置为127.0.0.1,端口设置为7077

  

我能够远程连接到cassandra但无法做到这一点   火花的东西。

连接到远程spark master时,出现以下错误:

  

错误TransportRequestHandler:为单向消息调用RpcHandler#receive()时出错。

以下是我的设置代码

val configuration = new SparkConf(true)
                        .setAppName("myApp")
                        .setMaster("spark://xx.xxx.xxx.xxx:7077")
                        .set("spark.cassandra.connection.host", "xx.xxx.xxx.xxx")
                        .set("spark.cassandra.connection.port", 9042)
                        .set("spark.cassandra.input.consistency.level","ONE")
                        .set("spark.driver.allowMultipleContexts", "true")
val sparkSession = SparkSession
                   .builder()
                   .appName("myAppEx")
                   .config(configuration)
                   .enableHiveSupport()
                   .getOrCreate()

我不明白为什么cassandra工作得很好而火花没有。

造成这种情况的原因是什么?我该如何解决?

2 个答案:

答案 0 :(得分:3)

我回答这个问题是为了帮助那些正在努力解决这个问题的人。

它的出现是由Intellij Idea的scala版本和服务器版本之间的不匹配引起的。

当IDE使用scala ~ 2.11.6时,服务器已scala ~ 2.11.8

为了确保使用完全相同的版本,有必要通过执行以下步骤来更改IDE的scala版本:

档案>项目结构> +> Scala SDK>查找并选择服务器的scala版本>如果您尚未安装,请下载>好的>申请>确定

答案 1 :(得分:1)

这可能是拼写错误吗?错误消息报告8990,在您的连接配置中,您有端口8090用于spark。