我在python环境中使用了pip安装pyspark,安装了java,但是当我尝试初始化spark会话时,我得到了一个java错误,java网关进程在发送端口号之前退出
spark = SparkSession \
.builder \
.appName("CustomerChurn") \
.master("local") \
.config() \
.getOrCreate()
RuntimeError Traceback (most recent call last)
Input In [3], in <cell line: 3>()
1 findspark.init()
3 spark = SparkSession \
4 .builder \
5 .appName("CustomerChurn") \
6 .master("local") \
7 .config() \
----> 8 .getOrCreate()
File ~\anaconda3\envs\CustomerChurnProject\lib\site-packages\pyspark\sql\session.py:269, in SparkSession.Builder.getOrCreate(self)
267 sparkConf.set(key, value)
268 # This SparkContext may be an existing one.
--> 269 sc = SparkContext.getOrCreate(sparkConf)
270 # Do not update `SparkConf` for existing `SparkContext`, as it's shared
271 # by all sessions.
272 session = SparkSession(sc, options=self._options)
File ~\anaconda3\envs\CustomerChurnProject\lib\site-packages\pyspark\context.py:483, in SparkContext.getOrCreate(cls, conf)
481 with SparkContext._lock:
482 if SparkContext._active_spark_context is None:
--> 483 SparkContext(conf=conf or SparkConf())
484 assert SparkContext._active_spark_context is not None
485 return SparkContext._active_spark_context
File ~\anaconda3\envs\CustomerChurnProject\lib\site-packages\pyspark\context.py:195, in SparkContext.__init__(self, master, appName, sparkHome, pyFiles, environment, batchSize, serializer, conf, gateway, jsc, profiler_cls, udf_profiler_cls)
189 if gateway is not None and gateway.gateway_parameters.auth_token is None:
190 raise ValueError(
191 "You are trying to pass an insecure Py4j gateway to Spark. This"
192 " is not allowed as it is a security risk."
193 )
--> 195 SparkContext._ensure_initialized(self, gateway=gateway, conf=conf)
196 try:
197 self._do_init(
198 master,
199 appName,
(...)
208 udf_profiler_cls,
209 )
File ~\anaconda3\envs\CustomerChurnProject\lib\site-packages\pyspark\context.py:417, in SparkContext._ensure_initialized(cls, instance, gateway, conf)
415 with SparkContext._lock:
416 if not SparkContext._gateway:
--> 417 SparkContext._gateway = gateway or launch_gateway(conf)
418 SparkContext._jvm = SparkContext._gateway.jvm
420 if instance:
File ~\anaconda3\envs\CustomerChurnProject\lib\site-packages\pyspark\java_gateway.py:106, in launch_gateway(conf, popen_kwargs)
103 time.sleep(0.1)
105 if not os.path.isfile(conn_info_file):
--> 106 raise RuntimeError("Java gateway process exited before sending its port number")
108 with open(conn_info_file, "rb") as info:
109 gateway_port = read_int(info)
RuntimeError: Java gateway process exited before sending its port number
运行时错误发布在上面,我在其他帖子中没有看到这种类型的错误
根据错误日志,我认为需要在系统上指定$JAVA\u HOME变量。
此链接可能有助于:
https://sparkbyexamples.com/pyspark/pyspark-exception-java-gateway-process-exited-before-sending-the-driver-its-port-number/
在Linux中:
export JAVA\u HOME=(JDK的路径,e.x:/usr/lib/jvm/JAVA-11-openjdk-amd64)
之后,您需要将其保存在您的~/. bashrc中(如果您使用bash)
vi ~/.bashrc
export JAVA_HOME=(Path to the JDK, e.x: /usr/lib/jvm/java-11-openjdk-amd64)
然后:
source ~/.bashrc
(你可以看到上面的链接)
在窗口中:
转到我的计算机上的编辑系统环境窗口。
看这个:https://confluence.atlassian.com/doc/setting-the-java_home-variable-in-windows-8895.html
我正在使用Pyspark运行一些命令在Jupyter笔记本,但它是抛出错误。我尝试了这个链接中提供的解决方案(pyspark:exception:Java gateway process在发送驱动程序端口号之前退出),并且尝试了这里提供的解决方案(比如将路径更改为c:Java、卸载Java SDK 10和重新安装Java8,但它仍然给我带来了同样的错误。 我试着卸载和重新安装pyspark,我试着
尝试使用时我遇到了一个问题。我在我的用户路径中安装并添加了。但根据文档,它不需要任何其他依赖项。 我的问题是,我必须安装其他东西吗?像Spark本身或类似的东西? 我在中使用。
我在Spark 3.1.2和Hadoop 2.7中面临两个错误: 第一个是在python中导入'pyspark'并创建一个会话。 错误:'Java网关进程在发送端口号前已退出‘ 我从GitHub上的存储库中为以下Hadoop版本下载了它们:[2.7.1,2.7.7] 试过了,都不起作用。 我的环境变量--就我所检查的而言--是正确的: Windows 10 Python:3.7.10 水蟒:4.1
我正试图用Anaconda在我的Windows10中安装Spark,但当我试图在JupyterNotebook中运行pyspark时,我遇到了一个错误。我正在遵循本教程中的步骤。然后,我已经下载了Java8并安装了Spark 3.0.0和Hadoop 2.7。 我已经为SPARK_HOME、JAVA_HOME设置了路径,并在“path”环境中包含了“/bin”路径。 在Anaconda pyspa
代码在下面 获取错误异常:Java网关进程在发送其端口号之前退出
我运行Windows10,并通过Anaconda3安装了Python3。我在用Jupyter笔记本。我从这里安装了Spark(Spark-2.3.0-bin-Hadoop2.7.tgz)。我已经解压缩了这些文件,并将它们粘贴到我的目录d:\spark中。我已经修改了环境变量: 用户变量: 变量:SPARK_HOME 值:D:\spark\bin 我已经通过conda安装/更新了以下模块: 熊猫 皮