我正在用intelliJ学习spark + scala,从下面的一小段代码开始
import org.apache.spark.{SparkConf, SparkContext}
object ActionsTransformations {
def main(args: Array[String]): Unit = {
//Create a SparkContext to initialize Spark
val conf = new SparkConf()
conf.setMaster("local")
conf.setAppName("Word Count")
val sc = new SparkContext(conf)
val numbersList = sc.parallelize(1.to(10000).toList)
println(numbersList)
}
}
字符串
尝试运行时,低于异常
Exception in thread "main" java.net.BindException: Can't assign requested address: Service 'sparkDriver' failed after 16 retries (on a random free port)! Consider explicitly setting the appropriate binding address for the service 'sparkDriver' (for example spark.driver.bindAddress for SparkDriver) to the correct binding address.
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:433)
at sun.nio.ch.Net.bind(Net.java:425)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:127)
at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:501)
at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1218)
at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:496)
at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:481)
at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:965)
at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:210)
at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:353)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:399)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:446)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131)
at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)
at java.lang.Thread.run(Thread.java:745)
Process finished with exit code 1
型
谁能给我出个主意。
9条答案
按热度按时间9nvpjoqh1#
有时问题与连接的VPN或类似的东西有关!只需断开VPN或任何其他可能影响网络的工具,然后重试。
mrphzbgm2#
在spark/bin目录下的load-spark-env.sh文件中添加SPARK_SPARK_IP
export SPARK_EXPLORE_IP=”127.0.0.1“
yyyllmsg3#
看起来你使用了一些旧版本的spark。在你的情况下,尝试添加这行:
字符串
如果你使用spark 2.0+,下面应该可以做到:
型
gijlo24d4#
下面的代码应该可以做到这一点:
字符串
du7egjpx5#
这对我在pySpark中遇到的同样的错误很有效:
字符串
zhte4eai6#
我认为 setMaster 和 setAppName 将返回一个新的
SparkConf
对象,并且conf.setMaster("local")
行不会影响conf
变量。所以你应该尝试:字符串
o4hqfura7#
spark试图绑定的端口似乎已经在使用中。这个问题是在你成功运行spark几次之后开始发生的吗?你可能想检查那些以前运行过的spark进程是否还活着,并且正在占用一些端口(一个简单的
jps
/ps -ef
应该告诉你)。如果是,杀死这些进程并重试。vx6bjr1n8#
将您的主机名和内部IP添加到
/etc/hosts
更多说明
使用以下命令获取主机名:
字符串
使用此命令获取内部IP:
型
更改值并添加到
/etc/hosts
联系我们
范例:
192.168.1.5 www.example.com
或者(前一行更好!)
127.0.0.1 www.example.com
tjrkku2a9#
另外,dataK推荐的解决方案也适用于Spark集群和PySpark之间的K8S。简短说明: