当前位置: 首页 > 知识库问答 >
问题:

运行独立pyspark时出现Windows错误

徐星阑
2023-03-14

我正在尝试在Anaconda中导入pyspark并运行示例代码。然而,每当我尝试在Anaconda中运行代码时,我都会得到以下错误消息。

错误:py4j.java_gateway:尝试连接到Java服务器时出错(127.0.0.1:53294)追溯(最近一次调用):文件“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响应=connection.send_command(命令)文件“C:\spark\python\lib\py4j-0.10.3-src.zip\py4j\java_gateway.py”,第1025行,在send_command“Error while send”,e,proto.error_on_send)py4j.protocol.py4jnetworkerror:

在处理上述异常时,又发生了一个异常:

回溯(最近一次调用):文件“C:\spark\python\lib\py4j-0.10.3-src.zip\py4j\java_gateway.py”,第827行,in_get_connection connection=self.deque.pop()indexerror:从空deque弹出

在处理上述异常时,又发生了一个异常:

回溯(最近一次调用):文件“C:\spark\python\lib\py4j-0.10.3-src.zip\py4j\java_gateway.py”,第963行,在start self.socket.connect((self.address,self.port))connectionrefusederror:[WinError 10061]无法建立连接,因为目标计算机主动拒绝了它错误:py4j.java_gateway:尝试连接到Java服务器(127.0.0.1:53294)时出错

在处理上述异常时,又发生了一个异常:

回溯(最近一次调用):文件“C:\spark\python\lib\py4j-0.10.3-src.zip\py4j\java_gateway.py”,第963行,在start self.socket.connect((self.address,self.port))connectionrefusederror:[WinError 10061]无法建立连接,因为目标计算机主动拒绝了它错误:py4j.java_gateway:尝试连接到Java服务器(127.0.0.1:53294)时出错

在处理上述异常时,又发生了一个异常:

回溯(最近一次调用):文件“C:\spark\python\lib\py4j-0.10.3-src.zip\py4j\java_gateway.py”,第963行,在start self.socket.connect((self.address,self.port))connectionrefusederror:[WinError 10061]无法建立连接,因为目标计算机主动拒绝了它错误:py4j.java_gateway:尝试连接到Java服务器(127.0.0.1:53294)时出错

在处理上述异常时,又发生了一个异常:

回溯(最近一次调用):文件“C:\spark\python\lib\py4j-0.10.3-src.zip\py4j\java_gateway.py”,第963行,在start self.socket.connect((self.address,self.port))connectionrefusederror:[WinError 10061]无法建立连接,因为目标计算机主动拒绝了它错误:py4j.java_gateway:尝试连接到Java服务器(127.0.0.1:53294)时出错

在处理上述异常时,又发生了一个异常:

回溯(最近一次调用):文件“C:\spark\python\lib\py4j-0.10.3-src.zip\py4j\java_gateway.py”,第963行,在start self.socket.connect((self.address,self.port))connectionrefusederror:[WinError 10061]无法建立连接,因为目标计算机主动拒绝了它重新加载的模块s,pyspark.storagelevel,pyspark.heapq3,py4j.signals,pyspark.sql.types Traceback(最后一次调用):

文件“”,第1行,在runfile中('c:/users/hlee/desktoes/pysspark.py',wdir='c:/users/hlee/desktoes')

文件“C:\Program Files\Anaconda3\lib\site-packages\spyder\utils\site\siteCustomize.py”,第866行,在runfile execfile(文件名,命名空间)中

文件“C:\Program Files\Anaconda3\lib\site-packages\spyder\utils\site\siteCustomize.py”,第102行,在execfile exec(compile(f.read(),filename,'exec'),namespace)中

文件“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行,in_initialize_context返回self._jvm.javasparkcontext(jconf)

文件“C:\spark\python\lib\py4j-0.10.3-src.zip\py4j\java_gateway.py”,第1401行,在呼叫应答中,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.JavaParkContext时出错。:java.net.bindexception:无法分配请求的地址:bind:Service'spark driver'在重试16次后失败!考虑将服务'spark driver'的适当端口(例如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)在sun.nio.ch.serverSocketChannelImpl.java:223)在sun.nio.ch.serverSocketAdaptor.bind(serverSocketChannelImpl.java:74)在io.netty.channel.socketChannel.dobind(nioServerSocketChannel.dobind(runAllTasks(SingleThreadeVentExecutor.java:357)在io.netty.channel.nio.nioEventLoop.Run(NioEventLoop.357)在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文件中添加了export spark_master_ip=127.0.0.1和export spark_local_ip=127.0.0.1。然而,我仍然得到同样的错误。有人能帮我指出我缺了什么吗?

事先谢谢你,

共有1个答案

邢新
2023-03-14

在我的情况下,我只需要重新设置内核。

问题是我创建了两次环境:每次我犯了错误,我就从一开始就重新运行代码。

 类似资料:
  • 我们试图在给定的节点上启动多个独立的kafka hdfs连接器。 对于每个连接器,我们分别将和设置为不同的端口和路径。 也是Kafka经纪人JMX港是@ 9999。 当我启动 kafka 独立连接器时,出现错误 错误:代理引发异常:java.rmi.server。ExportException:端口已在使用:9999;嵌套异常是:java.net。BindException:地址已在使用中(绑定失

  • 安装Spark独立模式集群 安装Spark独立模式,你只需要将Spark的编译版本简单的放到集群的每个节点。你可以获得每个稳定版本的预编译版本,也可以自己编译。 手动启动集群 你能够通过下面的方式启动独立的master服务器。 ./sbin/start-master.sh 一旦启动,master将会为自己打印出spark://HOST:PORT URL,你能够用它连接到workers或者作为"m

  • null 因此,具有外部依赖关系的作业可以正常工作,但是UDF会产生上面的错误。我还试图将我的应用程序jar(其中包含驱动程序和spring代码以及worker中已经存在的所有其他依赖项)添加到worker中的dependencies文件夹中,但仍然会产生错误。还试图将其放置在worker中与驱动程序相同的位置,并使用“spark.jars”将其位置添加到sparkConf,但没有成功。有什么建议

  • 我正在从事一个利用quartz插件的grails项目。插件按预期工作,在开发模式下本地运行项目时不会出现问题。然而,在tomcat的独立实例中运行该项目时,我遇到了以下错误。 以下是我在BuildConfig中的内容。棒极了 任何关于如何补救的想法或方向都将不胜感激。事先感谢您的帮助。

  • 我正在尝试在Ubuntu上以独立的方式运行Apache地图集 - 这意味着不必设置Solr和/或HBase。我所做的(根据文档:http://atlas.apache.org/0.8.1/InstallationSteps.html)是克隆Git存储库,使用mbadded的HBase和dSolr构建maven项目: 解压缩了 resuting tar.gz 文件并执行了 bin/atlas_sta

  • 我想使用Java中的将csv数据文件放入HBase表中。 HBase和Phoenix在Ubuntu虚拟机上运行。 从Windows运行时,会出现下一个异常: 顺便说一句,当我我的示例应用程序在Ubuntu VM上运行时,我会遇到nex异常: 其中是Ubuntu VM上的实际jar文件位置。 我在这里使用了示例。 此外,当我使用普通的JDBC通过Phoenix连接和填充表时,一切都正常。