Apache PySpark -无法连接到主机7077

h79rfbju  于 2022-11-16  发布在  Apache
关注(0)|答案(1)|浏览(398)

我在看完这个video之后设置了Spark和HDFS,唯一不同的是我是在服务器(Ubuntu)上做的,而不是在VM上。
在服务器上,一切都运行得很完美。现在我想用PySpark从我的本地机器(Windows)访问它。

from pyspark.sql import SparkSession

spark = SparkSession.builder.master("spark://ubuntu-spark:7077").appName("test").getOrCreate()
spark.stop()

但是,我在这里得到以下错误消息:

22/11/12 10:38:35 WARN Shell: Did not find winutils.exe: java.io.FileNotFoundException: 
java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset. -see 
https://wiki.apache.org/hadoop/WindowsProblems
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use 
setLogLevel(newLevel).
22/11/12 10:38:35 WARN NativeCodeLoader: Unable to load native-hadoop library for your 
platform... using builtin-java classes where applicable
22/11/12 10:38:37 WARN StandaloneAppClient$ClientEndpoint: Failed to connect to master 
ubuntu-spark:7077     
org.apache.spark.SparkException: Exception thrown in awaitResult: ...

根据其他帖子,DNS应该是正确的。我从Spark Master网站(在端口8080)得到了这个:

URL: spark://ubuntu-spark:7077
Alive Workers: 1
Cores in use: 2 Total, 0 Used
Memory in use: 6.8 GiB Total, 0.0 B Used
Resources in use:
Applications: 0 Running, 0 Completed
Drivers: 0 Running, 0 Completed
Status: ALIVE

端口是开放的。我也不明白下面的消息:“HADOOP_HOME和hadoop.home.dir都是未设置的。”Hadoop是在服务器上配置的。为什么我要在本地再次做同样的事情呢?我的期望是我可以像API一样使用Spark还是我错了?
非常感谢您的帮助。如果您需要任何配置文件,我可以提供。

nnsrf1az

nnsrf1az1#

由于您没有使用HDFS,因此Hadoop对于显示的代码应该不是必需的,但日志显示它正在您的 *Windows机器 * 上查找这些设置。
DNS需要在你的Windows机器和你的服务器运行的地方之间工作(一个VM仍然可以是服务器,所以不清楚你在哪里运行它)。开始调试ping spark-master来检查,或者你也应该能够从Windows浏览器示例打开spark-master:8080
如果你只想运行Spark代码,而不关心它是否是分布式的,你可以在Windows上使用Docker-https://github.com/jupyter/docker-stacks
或者在本地为相同的

相关问题