自更新到Spark 2.3.0以来,在我的CI (信号量)中运行的测试由于在创建(本地) spark context时据称无效的spark url而失败:
18/03/07 03:07:11 ERROR SparkContext: Error initializing SparkContext.
org.apache.spark.SparkException: Invalid Spark URL: spark://HeartbeatReceiver@LXC_trusty_1802-d57a40eb:44610
at org.apache.spark.rpc.RpcEndpointAddress$.apply(RpcEndpointAddress.scala:66)
at org.apache.spark.rpc.netty.NettyRpcEnv.asyncSetupEndpointRefByURI(NettyRpcEnv.scala:134)
at org.apache.spark.rpc.RpcEnv.setupEndpointRefByURI(RpcEnv.scala:101)
at org.apache.spark.rpc.RpcEnv.setupEndpointRef(RpcEnv.scala:109)
at org.apache.spark.util.RpcUtils$.makeDriverRef(RpcUtils.scala:32)
at org.apache.spark.executor.Executor.<init>(Executor.scala:155)
at org.apache.spark.scheduler.local.LocalEndpoint.<init>(LocalSchedulerBackend.scala:59)
at org.apache.spark.scheduler.local.LocalSchedulerBackend.start(LocalSchedulerBackend.scala:126)
at org.apache.spark.scheduler.TaskSchedulerImpl.start(TaskSchedulerImpl.scala:164)
at org.apache.spark.SparkContext.<init>(SparkContext.scala:500)
at org.apache.spark.SparkContext$.getOrCreate(SparkContext.scala:2486)
at org.apache.spark.sql.SparkSession$Builder$$anonfun$7.apply(SparkSession.scala:930)
at org.apache.spark.sql.SparkSession$Builder$$anonfun$7.apply(SparkSession.scala:921)
at scala.Option.getOrElse(Option.scala:121)
at org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:921)
spark会话的创建方式如下:
val sparkSession: SparkSession = SparkSession
.builder
.appName(s"LocalTestSparkSession")
.config("spark.broadcast.compress", "false")
.config("spark.shuffle.compress", "false")
.config("spark.shuffle.spill.compress", "false")
.master("local[3]")
.getOrCreate
在更新到Spark 2.3.0之前,版本2.2.1和2.1.0中没有遇到任何问题。此外,在本地运行测试也很好。
发布于 2018-06-01 07:35:11
将SPARK_LOCAL_HOSTNAME
更改为localhost
,然后尝试。
export SPARK_LOCAL_HOSTNAME=localhost
发布于 2018-07-16 15:11:11
已通过将sparkSession配置"spark.driver.host“设置为IP地址来解决此问题。
从2.3开始,这一变化似乎是必需的。
发布于 2019-03-22 18:46:15
将您的主机名更改为不带下划线。
spark://HeartbeatReceiver@LXC_trusty_1802-d57a40eb:44610到spark://HeartbeatReceiver@LXCtrusty1802d57a40eb:44610
Ubuntu作为root
#hostnamectl status
#hostnamectl --static set-hostname LXCtrusty1802d57a40eb
#nano /etc/hosts
127.0.0.1 LXCtrusty1802d57a40eb
#reboot
https://stackoverflow.com/questions/49143271
复制相似问题