运行独立的pyspark

时间:2016-12-08 21:43:11

标签: python apache-spark localhost

我正在尝试在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.runAllTask​​s(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。但是,我仍然得到同样的错误。有人可以帮助我并指出我错过了什么吗?

提前谢谢你,

1 个答案:

答案 0 :(得分:0)

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

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