spark on yarn

本文详细介绍Hadoop和Spark在集群环境下的安装配置步骤,包括HDFS和YARN模块的安装,Spark的环境变量设置,以及如何在YARN上以cluster和client模式运行Spark应用程序。

配置安装

安装hadoop:需要安装HDFS模块和YARN模块,HDFS必须安装,spark运行时要把jar包存放到HDFS上。
安装Spark:解压Spark安装程序到一台服务器上,修改spark-env.sh配置文件,该spark将作为YARN的客户端用于提交任务

[root@hadoop1 conf]# vi spark-env.sh
#追加内容
export JAVA_HOME=/usr/java/jdk1.8.0_141
export HADOOP_CONF_DIR=/usr/hadoop/hadoop-2.7.3/etc/hadoop

启动HDFS和YARN

[root@hadoop1 conf]# start-all.sh

运行模式

cluster模式

./bin/spark-submit --class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode cluster \
--driver-memory 1g \
--executor-memory 1g \
--executor-cores 2 \
--queue default \
lib/spark-examples*.jar \
10

client模式

./bin/spark-submit --class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode client \
--driver-memory 1g \
--executor-memory 1g \
--executor-cores 2 \
--queue default \
lib/spark-examples*.jar \
10

注:"–class"表示执行程序的全类名,"–master"表示程序运行在那个环境,"–deploy-mode"表示指定那种模式,"–driver-memory"表示为driver分配内存,"–executor-memory"表示为executor分配内存,"–executor-cores"表示指定一个executor使用几个核,"–queue"表示指定使用那种资源调度器,"lib/spark-examples*.jar"表示架包所在的位置,“10"表示传递的参数,” "表示换行。

两种模式的区别

cluster模式:Driver程序在YARN中运行,应用的运行结果不能在客户端显示,所以最好运行那些将结果最终保存在外部存储介质(如HDFS、Redis、Mysql),而非stdout输出的应用程序,客户端的终端显示的仅是作为YARN的job的简单运行状况。
client模式:Driver运行在Client上,应用程序运行结果会在客户端显示,所有适合运行结果有输出的应用程序(如spark-shell)
所以spark-shell必须使用client模式

[root@hadoop1 conf]# ./bin/spark-shell --master yarn --deploy-mode client --driver-memory 1g --executor-memory g --executor-cores 1 --queue default
或
./bin/spark-shell --master yarn --deploy-mode client

注意:如果你配置spark-on-yarn的client模式,其实会报错。修改所有yarn节点的yarn-site.xml,在该文件中添加如下内容

<property>
    <name>yarn.nodemanager.pmem-check-enabled</name>
    <value>false</value>
</property>
<property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
</property>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值