IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> pyspark Exception: Java gateway process exited before sending its port number(2021年10月29日版) -> 正文阅读

[大数据]pyspark Exception: Java gateway process exited before sending its port number(2021年10月29日版)

前奏

为了实现一个spark的客户端访问服务端的python访问,折腾了好几天,现在终于解决了,查了网上的很多人写的文章,都没解决,跟着他们说的改,也没解决问题。有篇文章提点的很好就是 看spark的错误日志,看日志报错的具体问题。 Java gateway process exited before sending its port number这个问题有很多种情况引起,看日志是根据解决途径。下面就介绍windows pyspark连接linux spark服务的注意问题。这里先感谢这个连接的中的大牛回答,为资源不足(WARN TaskSchedulerImpl: Initial job has not accepted any resources;check your cluster UI to ensure that workers are registered and have sufficient resources)问题提供了解决方案。

方法论

这里不说linux服务端的事,服务端集群配置我都会在后面补一篇文章。说win10作为客户端连接服务端。
win10准备什么?
1.windows中的Java环境版本一定和服务端环境一致,至少保证大版本一致!
2.windows版的Hadoop(带without-hadoop的没测试,如果不用带hadoop的,能正常运行,但会报错,hadoop网上找找是有的就是bin目录加hadoop.dll、winutils.exe之类的)
3.python的版本也要和服务端的版本一致,不然也会出现报错!至少保证大版本(小数点后一位)一致!
4.windows的python安装pyspark版本和spark的版本一致
5.在环境变量中设置JAVA_HOME,用户环境、系统环境二选一就可以了,是通的

win10不需要准备什么?
1.千万不要用spark包,就安装pypark就行
2.不需要特意安装py4j
3.除了JAVA_HOME其他不要设置环境变量,JAVA_HOME也可以不用设置,见代码。

代码

跑个pyspark就这么复杂,没办法,太娇气了。

from pyspark import SparkConf, SparkContext
import os
# os.environ['JAVA_HOME'] = r'C:\Program Files\Java\jdk1.8.0_131' #----环境变量没有就打开
# # os.environ['SPARK_HOME']='D:\Root\wslware\spark-2.4.6-bin-hadoop2.7' #---不需要,删除它
# os.environ['PYTHONPATH']='D:\Root\wslware\spark-2.4.6-bin-hadoop2.7\py4j.zip' #---不需要,删除它
os.environ['HADOOP_HOME']='D:\Root\wslware\hadoop-2.7.6' #--环境变量没设置,这里就要设置它,都不设置也行,就是报错不好看
conf = SparkConf().setMaster("spark://172.26.59.55:7077").setAppName("ttest").set("spark.driver.host", "172.24.128.1")  
# 这是全文的重点, 这句话是重点,setMaster的参数要搞对,ip和端口要能通,spark.driver.host是windows的ip,没这个就报错,什么原因,自己咨询spark开发者,我只是调包者,也没精力研究这些,也不是搞运维非要弄清楚这个

sc = SparkContext(conf=conf) #这里开始到下面只是做测试用的,相对于环境来说无足轻重
print(sc.version)
list_test = [1, 2, 3]
x = sc.parallelize(list_test)
y = x.map(lambda x: x * 2)
print(x.collect())
print(y.collect())
print(333)
sc.stop()

总结

搞了一周,就这破事。注意3点:1.版本一致性,2.配置正确性,3.有错看日志,别盲目百度。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-30 12:37:23  更:2021-10-30 12:38:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:40:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码