错误初始化SparkContext,在windows上的ubuntu上运行bash上的Spark

时间:2016-11-06 11:30:24

标签: apache-spark

我正在尝试在Windows上的ubuntu上的bash上安装和配置spark 2.0.1。我按照Apache Spark - Installation上的说明进行操作,一切似乎都已安装好但是当我运行spark-shell时会发生这种情况:

16/11/06 11:25:47 ERROR SparkContext: Error initializing SparkContext.
java.net.SocketException: Invalid argument
        at sun.nio.ch.Net.listen(Native Method)
        at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:224)
        at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
        at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:125)
        at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:485)
        at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1089)
        at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:430)
        at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:415)
        at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:903)
        at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:198)
        at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:348)
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:357)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357)
        at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111)
        at java.lang.Thread.run(Thread.java:745)

在该错误发生之前,我看到一条警告可能与否有关:

16/11/06 11:25:47 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
16/11/06 11:25:47 WARN Utils: Your hostname, DESKTOP-IKGIG97 resolves to a loopback address: 127.0.0.1; using 151.127.0.0 instead (on interface wifi0)
16/11/06 11:25:47 WARN Utils: Set SPARK_LOCAL_IP if you need to bind to another address

我有点像Linux的菜鸟我必须承认所以对下一步做什么有点无能为力。如果重要的是/etc/hosts

的内容
127.0.0.1 localhost
127.0.0.1 DESKTOP-IKGIG97

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

希望有人能够识别我的问题。我需要做些什么来调查并修复此错误?

1 个答案:

答案 0 :(得分:0)

如错误所示,请在安装Spark的目录中的 conf / spark-env.sh 脚本中添加 SPARK_LOCAL_IP

http://spark.apache.org/docs/2.0.1/configuration.html

环境变量

可以通过环境变量配置某些Spark设置,环境变量可以从安装Spark的目录中的 conf / spark-env.sh 脚本中读取(或者conf / spark-env.cmd on视窗)。在Standalone和Mesos模式下,此文件可以提供机器特定信息,例如主机名。它还在运行本地Spark应用程序或提交脚本时获取。

请注意,安装Spark时默认情况下不存在conf / spark-env.sh。但是,您可以复制conf / spark-env.sh.template来创建它。确保使副本可执行。

可以在 spark-env.sh 中设置以下变量:

SPARK_LOCAL_IP要绑定的计算机的IP地址。

如果它没有解决您的问题 - 请分享执行以下unix命令的输出:

ifconfig