我正在尝试在Anaconda中导入pyspark并运行示例代码。但是,每当我尝试在Anaconda中运行代码时,都会收到以下错误消息。
错误:py4j.java_gateway:尝试连接Java服务器时出错(127.0.0.1:53294) Traceback(最近一次调用最后一次): 文件" C:\ spark \ python \ lib \ py4j-0.10.3-src.zip \ py4j \ java_gateway.py",第1021行,在send_command中 self.socket.sendall(command.encode(" UTF-8&#34)) ConnectionResetError:[WinError 10054]远程主机强制关闭现有连接
在处理上述异常期间,发生了另一个异常:
追踪(最近一次通话): 文件" C:\ spark \ python \ lib \ py4j-0.10.3-src.zip \ py4j \ java_gateway.py",第883行,在send_command中 response = connection.send_command(command) 文件" C:\ spark \ python \ lib \ py4j-0.10.3-src.zip \ py4j \ java_gateway.py",第1025行,在send_command中 "发送",e,proto.ERROR_ON_SEND时出错 py4j.protocol.Py4JNetworkError:发送时出错
在处理上述异常期间,发生了另一个异常:
追踪(最近一次通话): 文件" C:\ spark \ python \ lib \ py4j-0.10.3-src.zip \ py4j \ java_gateway.py",第827行,在_get_connection中 connection = self.deque.pop() IndexError:从空deque中弹出
在处理上述异常期间,发生了另一个异常:
追踪(最近一次通话): 文件" C:\ spark \ python \ lib \ py4j-0.10.3-src.zip \ py4j \ java_gateway.py",第963行,开始 self.socket.connect((self.address,self.port)) ConnectionRefusedError:[WinError 10061]无法建立连接,因为目标计算机主动拒绝它 错误:py4j.java_gateway:尝试连接到Java服务器时发生错误(127.0.0.1:53294) Traceback(最近一次调用最后一次): 文件" C:\ spark \ python \ lib \ py4j-0.10.3-src.zip \ py4j \ java_gateway.py",第827行,在_get_connection中 connection = self.deque.pop() IndexError:从空deque中弹出
在处理上述异常期间,发生了另一个异常:
追踪(最近一次通话): 文件" C:\ spark \ python \ lib \ py4j-0.10.3-src.zip \ py4j \ java_gateway.py",第963行,开始 self.socket.connect((self.address,self.port)) ConnectionRefusedError:[WinError 10061]无法建立连接,因为目标计算机主动拒绝它 错误:py4j.java_gateway:尝试连接到Java服务器时发生错误(127.0.0.1:53294) Traceback(最近一次调用最后一次): 文件" C:\ spark \ python \ lib \ py4j-0.10.3-src.zip \ py4j \ java_gateway.py",第827行,在_get_connection中 connection = self.deque.pop() IndexError:从空deque中弹出
在处理上述异常期间,发生了另一个异常:
追踪(最近一次通话): 文件" C:\ spark \ python \ lib \ py4j-0.10.3-src.zip \ py4j \ java_gateway.py",第963行,开始 self.socket.connect((self.address,self.port)) ConnectionRefusedError:[WinError 10061]无法建立连接,因为目标计算机主动拒绝它 错误:py4j.java_gateway:尝试连接到Java服务器时发生错误(127.0.0.1:53294) Traceback(最近一次调用最后一次): 文件" C:\ spark \ python \ lib \ py4j-0.10.3-src.zip \ py4j \ java_gateway.py",第827行,在_get_connection中 connection = self.deque.pop() IndexError:从空deque中弹出
在处理上述异常期间,发生了另一个异常:
追踪(最近一次通话): 文件" C:\ spark \ python \ lib \ py4j-0.10.3-src.zip \ py4j \ java_gateway.py",第963行,开始 self.socket.connect((self.address,self.port)) ConnectionRefusedError:[WinError 10061]无法建立连接,因为目标计算机主动拒绝它 错误:py4j.java_gateway:尝试连接到Java服务器时发生错误(127.0.0.1:53294) Traceback(最近一次调用最后一次): 文件" C:\ spark \ python \ lib \ py4j-0.10.3-src.zip \ py4j \ java_gateway.py",第827行,在_get_connection中 connection = self.deque.pop() IndexError:从空deque中弹出
在处理上述异常期间,发生了另一个异常:
追踪(最近一次通话): 文件" C:\ spark \ python \ lib \ py4j-0.10.3-src.zip \ py4j \ java_gateway.py",第963行,开始 self.socket.connect((self.address,self.port)) ConnectionRefusedError:[WinError 10061]无法建立连接,因为目标计算机主动拒绝它 重装上阵的模块:py4j.protocol,pyspark.sql.context,py4j.java_gateway,py4j.compat,pyspark.profiler,pyspark.sql.catalog,pyspark.context,pyspark.sql.group,pyspark.sql.conf,pyspark.sql .readwriter,pyspark.resultiterable,pyspark.sql,pyspark.sql.dataframe,pyspark.traceback_utils,pyspark.cloudpickle,pyspark.rddsampler,pyspark.accumulators,pyspark.broadcast,py4j,pyspark.rdd,pyspark.sql.functions,pyspark .java_gateway,pyspark.statcounter,pyspark.conf,pyspark.serializers,pyspark.files,pyspark.join,pyspark.sql.streaming,pyspark.shuffle,pyspark,py4j.version,pyspark.sql.session,pyspark.sql.column ,py4j.finalizer,py4j.java_collections,pyspark.status,pyspark.sql.window,pyspark.sql.utils,pyspark.storagelevel,pyspark.heapq3,py4j.signals,pyspark.sql.types 回溯(最近一次调用最后一次):
文件"",第1行,in runfile(' C:/Users/hlee/Desktop/pyspark.py' ;, wdir =' C:/ Users / hlee / Desktop')
文件" C:\ Program Files \ Anaconda3 \ lib \ site-packages \ spyder \ utils \ site \ sitecustomize.py",第866行,在runfile中 execfile(filename,namespace)
文件" C:\ Program Files \ Anaconda3 \ lib \ site-packages \ spyder \ utils \ site \ sitecustomize.py",第102行,在execfile中 exec(compile(f.read(),filename,' exec'),命名空间)
文件" C:/Users/hlee/Desktop/pyspark.py",第38行,在 sc = SparkContext()
文件" C:\ spark \ python \ lib \ pyspark.zip \ pyspark \ context.py",第115行, init conf,jsc,profiler_cls)
文件" C:\ spark \ python \ lib \ pyspark.zip \ pyspark \ context.py",第168行,在_do_init中 self._jsc = jsc或self._initialize_context(self._conf._jconf)
文件" C:\ spark \ python \ lib \ pyspark.zip \ pyspark \ context.py",第233行,在_initialize_context中 return self._jvm.JavaSparkContext(jconf)
文件" C:\ spark \ python \ lib \ py4j-0.10.3-src.zip \ py4j \ java_gateway.py",第1401行,调用 回答,self._gateway_client,无,self._fqn)
文件" C:\ spark \ python \ lib \ py4j-0.10.3-src.zip \ py4j \ protocol.py",第319行,在get_return_value中 格式(target_id,"。",name),value)
Py4JJavaError:调用None.org.apache.spark.api.java.JavaSparkContext时发生错误。 :java.net.BindException:无法分配请求的地址:bind:Service' sparkDriver' 16次重试后失败了!考虑明确设置服务的适当端口' sparkDriver' (例如SparkUI的spark.ui.port)到可用端口或增加spark.port.maxRetries。 在sun.nio.ch.Net.bind0(原生方法) 在sun.nio.ch.Net.bind(Net.java:433) 在sun.nio.ch.Net.bind(Net.java:425) at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) 在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) 在io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357) at io.netty.util.concurrent.SingleThreadEventExecutor $ 2.run(SingleThreadEventExecutor.java:111) 在java.lang.Thread.run(Thread.java:745)
以下是我的示例代码,我在cmd中运行Apache没有问题。
import os
import sys
spark_path = r"C:\spark"
os.environ['SPARK_HOME'] = spark_path
sys.path.insert(0, spark_path + "/bin")
sys.path.insert(0, spark_path + "/python/pyspark/")
sys.path.insert(0, spark_path + "/python/lib/pyspark.zip")
sys.path.insert(0, spark_path + "/python/lib/py4j-0.10.3-src.zip")
from pyspark import SparkContext
sc = SparkContext()
import random
NUM_SAMPLES = 100000
def sample(p):
x, y = random.random(), random.random()
return 1 if x*x + y*y < 1 else 0
count = sc.parallelize(range(0, NUM_SAMPLES)).map(sample) \
.reduce(lambda a, b: a + b)
print("Pi is roughly %f" % (4.0 * count / NUM_SAMPLES))
我已经下载了winutils.exe并在Varaible环境中添加了HADOOP_HOME变量,并在spark-env.sh文件中添加了导出SPARK_MASTER_IP = 127.0.0.1,导出SPARK_LOCAL_IP = 127.0.0.1。但是,我仍然得到同样的错误。有人可以帮助我并指出我错过了什么吗?
提前谢谢你,
答案 0 :(得分:0)
在我的情况下,我只需要重新检查内核。
问题在于我创建了两次环境:每次出错都会从头开始重新编写代码。