运行独立的pyspark时出现Windows错误

问题描述 投票:1回答:1

我想在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“))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:从空双端队列中弹出

在处理上述异常期间,发生了另一个异常:

回溯(最近一次调用最后一次):文件“C:\ spark \ python \ lib \ py4j-0.10.3-src.zip \ py4j \ java_gateway.py”,第963行,在start self.socket.connect中(自编。 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()中:从一个空的双端队员中弹出

在处理上述异常期间,发生了另一个异常:

回溯(最近一次调用最后一次):文件“C:\ spark \ python \ lib \ py4j-0.10.3-src.zip \ py4j \ java_gateway.py”,第963行,在start self.socket.connect中(自编。 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()中:从一个空的双端队员中弹出

在处理上述异常期间,发生了另一个异常:

回溯(最近一次调用最后一次):文件“C:\ spark \ python \ lib \ py4j-0.10.3-src.zip \ py4j \ java_gateway.py”,第963行,在start self.socket.connect中(自编。 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()中:从一个空的双端队员中弹出

在处理上述异常期间,发生了另一个异常:

回溯(最近一次调用最后一次):文件“C:\ spark \ python \ lib \ py4j-0.10.3-src.zip \ py4j \ java_gateway.py”,第963行,在start self.socket.connect中(自编。 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()中:从一个空的双端队员中弹出

在处理上述异常期间,发生了另一个异常:

回溯(最近一次调用最后一次):文件“C:\ spark \ python \ lib \ py4j-0.10.3-src.zip \ py4j \ java_gateway.py”,第963行,在start self.socket.connect中(自编。 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.util s,pyspark.storagelevel,pyspark.heapq3,py4j.signals,pyspark.sql.types Traceback(最近一次调用最后一次):

文件“”,第1行,在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,'e​​xec'),命名空间)

文件“C:/Users/hlee/Desktop/pyspark.py”,第38行,sc = SparkContext()

在init conf,jsc,profiler_cls中输入文件“C:\ spark \ python \ lib \ pyspark.zip \ pyspark \ context.py”,第115行

文件“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中返回self._jvm.JavaSparkContext(jconf)

文件“C:\ spark \ python \ lib \ py4j-0.10.3-src.zip \ py4j \ java_gateway.py”,第1401行,在调用answer,self._gateway_client,None,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:服务'sparkDriver'在16次重试后失败!考虑明确地将服务'sparkDriver'的适当端口(例如SparkUI的spark.ui.port)设置为可用端口或增加spark.port.maxRetries。在sun.nio.ch.Net.bind0(本地方法)sun.nio.ch.Net.bind(Net.java:433)at sun.nio.ch.Net.bind(Net.java:425)at sun位于io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java)的sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)上的.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) :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。 invoBind(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。 runAllTask​​s(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)

以下是我的示例代码,我在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。但是,我仍然得到同样的错误。有人可以帮助我,并指出我错过了什么?

先感谢您,

python apache-spark localhost
1个回答
0
投票

在我的情况下,我只需要重新检查内核。

问题是我创建了两次环境:每次出错都会从头开始重新编写代码。

© www.soinside.com 2019 - 2024. All rights reserved.