在独立集群上运行 spark 时出错
Posted
技术标签:
【中文标题】在独立集群上运行 spark 时出错【英文标题】:Error while running spark on standalone cluster 【发布时间】:2018-01-07 11:36:53 【问题描述】:我正在尝试在独立集群上运行一个简单的 Spark 代码。下面是代码:
from pyspark import SparkConf,SparkContext
if __name__ == "__main__":
conf = SparkConf().setAppName("even-numbers").setMaster("spark://sumit-Inspiron-N5110:7077")
sc = SparkContext(conf)
inp = sc.parallelize([1,2,3,4,5])
even = inp.filter(lambda x: (x % 2 == 0)).collect()
for i in even:
print(i)
但是,我收到错误消息“无法解析主 URL”:
py4j.protocol.Py4JJavaError: An error occurred while calling None.org.apache.spark.api.java.JavaSparkContext.
: org.apache.spark.SparkException: Could not parse Master URL: '<pyspark.conf.SparkConf object at 0x7fb27e864850>'
at org.apache.spark.SparkContext$.org$apache$spark$SparkContext$$createTaskScheduler(SparkContext.scala:2760)
at org.apache.spark.SparkContext.<init>(SparkContext.scala:501)
at org.apache.spark.api.java.JavaSparkContext.<init>(JavaSparkContext.scala:58)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:247)
at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)
at py4j.Gateway.invoke(Gateway.java:236)
at py4j.commands.ConstructorCommand.invokeConstructor(ConstructorCommand.java:80)
at py4j.commands.ConstructorCommand.execute(ConstructorCommand.java:69)
at py4j.GatewayConnection.run(GatewayConnection.java:214)
at java.lang.Thread.run(Thread.java:748)
18/01/07 16:59:47 INFO ShutdownHookManager: Shutdown hook called
18/01/07 16:59:47 INFO ShutdownHookManager: Deleting directory /tmp/spark-0d71782f-617f-44b1-9593-b9cd9267757e
我也尝试将主服务器设置为“本地”,但没有成功。有人可以帮忙吗?
是的,运行作业的命令是
./bin/spark-submit even.py
【问题讨论】:
【参考方案1】:替换下一行
sc = SparkContext(conf)
与
sc = SparkContext(conf=conf)
你应该已经解决了。
【讨论】:
我猜在 Spark 2.2 中,(conf=conf) 已成为强制语法。我记得, sc = SparkContext(conf) 曾与早期版本一起使用。非常感谢!以上是关于在独立集群上运行 spark 时出错的主要内容,如果未能解决你的问题,请参考以下文章