我正在尝试从CDH 6社区版本的远程计算机从Java运行一个简单的MLLlib函数(FPgrowth)。
默认情况下,我尝试像这样连接:
`SparkConf conf = new SparkConf().setAppName("FPGrowth").setMaster("spark://some ip:7077").set("spark.cores.max", "10");`
但是连接失败,我还检查了Netstat -PLNT,并且在7077端口上没有程序侦听。
有没有一种新的方法可以在CDH 6上连接SparkContext? 我想它现在已经集成在 Yarn 上,但我应该如何连接到 T 并制作 SparkContext?
谢谢
不幸的是,在 Spark 中从本地模式切换到集群模式并不容易,但这是一个有据可查的过程。您还必须确保您的文件(如果使用任何文件)可以从集群的每个执行节点访问,方法是将它们放在 HDFS 上。
您首先必须确保在运行代码的计算机上配置了Hadoop的客户端,然后才能执行代码。
通常,您将按以下方式使用spark-submit
:
$ ./bin/spark-submit --class org.apache.spark.examples.SparkPi
--master yarn
--deploy-mode cluster
--driver-memory 4g
--executor-memory 2g
--executor-cores 1
--queue thequeue
examples/jars/spark-examples*.jar
10
但你也应该能够像这样执行它:
SparkSession spark = SparkSession.builder()
.appName("app")
.master("yarn")
.getOrCreate();
您可以在以下位置找到更多详细信息:https://spark.apache.org/docs/latest/running-on-yarn.html。