Chapter 6: "Clusters"摘自《用R掌握Spark》,展示了如何从R启动Spark独立集群的主节点:
# Retrieve the Spark installation directory
spark_home <- spark_home_dir()
# Build paths and classes
spark_path <- file.path(spark_home, "bin", "spark-class")
# Start cluster manager master node #ko on windows ?!
system2(spark_path, "org.apache.spark.deploy.master.Master", wait = FALSE)
与this示例不同,该示例表明最后一个命令在Linux上有效, 在我的Windows计算机上,命令运行时没有警告,但没有任何效果: 控制台中未打印任何内容,http://127.0.0.1:8080/上没有提供Web界面
我可以从Windows cmd提示符中成功启动主节点,如下所示:
set SPARH_HOME=C:\Users\username\AppData\Local\spark\spark-2.4.3-bin-hadoop2.7
cmd /k %SPARH_HOME%\conf\spark-env.cmd
spark-class org.apache.spark.deploy.master.Master
并添加一些工作节点
spark-class org.apache.spark.deploy.worker.Worker -i 10.0.75.1 -p 7077
,但随后从R连接到主服务器时,则使用:
sc <- spark_connect(spark_home = spark_install_find(version="2.4.3")$sparkVersionDir,master = "spark://localhost:7077")
if(file.exists("codes_ages")) unlink("codes_ages", TRUE)
codes.ages.df <- spark_read_csv(sc,name = "codes_ages", path = paste0(datadir,"/age.txt"), header = FALSE, delimiter = " ")
第一个或第三个命令永远不会持续...(已设置数据目录,age.txt由大约20个短行组成。)
那么如何从R启动主节点或如何连接到(本地)主节点?