如何将sparkcontext连接到yarn上的cdh 6

jgovgodb  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(228)

我正试图在cdh6社区版本的远程计算机上从java运行一个简单的mllib函数(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呢?
谢谢

flmtquvp

flmtquvp1#

不幸的是,在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.

相关问题