我正在尝试从Java上的CDH 6社区版本的远程计算机运行一个简单的mllib函数(fpgrowth)。
默认情况下,我尝试这样连接:
`SparkConf conf = new SparkConf().setAppName("FPGrowth").setMaster("spark://some ip:7077").set("spark.cores.max", "10");`
但是连接失败,我也检查了netstat -plnt,并且没有程序在7077端口上监听。
是否有新的方法可以在cdh 6上连接sparkcontext?我想它现在已集成在纱线上,但是我应该如何连接到t并生成sparkcontext?
谢谢
答案 0 :(得分:0)
不幸的是,在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中找到更多详细信息。