gpt4 book ai didi

apache-spark - 连接到 VM 上运行的 Spark

转载 作者:行者123 更新时间:2023-12-04 13:38:06 25 4
gpt4 key购买 nike

我有一个通过 VirtualBox 在 Ubuntu 16.2 上运行的 Spark 环境。它配置为在本地运行,当我使用

启动 Spark 时

./start-all

我可以使用 URL 通过 web-ui 在 VM 上访问它:http://localhost:8080

从主机 (windows),我也可以使用虚拟机 IP 访问它:http://192.168.x.x:8080 .

enter image description here

当我尝试从我的主机创建上下文时出现问题。我在 eclipse 中有一个使用 maven 的项目,我尝试运行以下代码:

ConfigLoader.masterEndpoint = "spark://192.168.1.132:7077"

val conf = new SparkConf().setMaster(ConfigLoader.masterEndpoint).setAppName("SimpleApp")
val sc = new SparkContext(conf)

我遇到了这个错误:

16/12/21 00:52:05 INFO StandaloneAppClient$ClientEndpoint: Connecting to master spark://192.168.1.132:8080...
16/12/21 00:52:06 WARN StandaloneAppClient$ClientEndpoint: Failed to connect to master 192.168.1.132:8080
org.apache.spark.SparkException: Exception thrown in awaitResult
at org.apache.spark.rpc.RpcTimeout$$anonfun$1.applyOrElse(RpcTimeout.scala:77)

我试过更改 URL:

ConfigLoader.masterEndpoint = "spark://192.168.1.132:7077"

不成功。

此外,如果我尝试通过网络(虚拟机中的 http://localhost:7077)直接访问主 URL,我什么也得不到。不知道是不是正常。

我错过了什么?

最佳答案

在您的 VM 中,转到 spark-2.0.2-bin-hadoop2.7/conf 目录并使用以下命令创建 spark-env.sh 文件。

cp spark-env.sh.template spark-env.sh

在 vi 编辑器中打开 spark-env.sh 文件并添加以下行。

SPARK_MASTER_HOST=192.168.1.132

使用 stop-all.shstart-all.sh 停止和启动 Spark。现在在您的程序中,您可以像下面这样设置 master。

val spark = SparkSession.builder()
.appName("SparkSample")
.master("spark://192.168.1.132:7077")
.getOrCreate()

关于apache-spark - 连接到 VM 上运行的 Spark,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41253309/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com