Yarn模式
Spark客户端直接连接Yarn,不需要额外构建Spark集群。有(color{red}{Yarn-client})和(color{red}{Yarn-cluster})两种模式。主要区别在于Driver程序的运行节点。
1.yarn-client:Driver程序运行在客户端,适用于交互、调试,希望立即看到app的输出
2.yarn-cluster:Driver程序运行在由RM(ResourceManager)启动的AP(APPMaster)适用生产环境
使用入门
1.修改hadoop配置文件yarn-site.xml
<!--是否启动一个线程来检查每个人物正在使用的物理内存量,如果人物超出分配的值,直接将其kill,默认是true-->
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<!--是否启动一个线程来检查每个人物正在使用的虚拟内存量,如果人物超出分配的值,直接将其kill,默认是true-->
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
2.修改spark-env.sh,默认只有spark-env.sh.template,将其拷贝或者修改名称都行。
YARN_CONF_DIR=/opt/module/hadoop/etc/hadoop
3.分发配置文件
$ xsync /opt/module/hadoop/etc/hadoop/yarn-site.xml
$ xsync spark-env.sh
4.执行测试程序
$ bin/spark-sunmit
--class org.apache.spark.examples.SparkPi
--master yarn
--deploy-mode client
./examples/jars/spark-examples_2.11-2.1.1.jar
100
日志查看
1.修改配置文件spark-defaults.conf
spark.yarn.historyServer.address=hadoop:18080
spark.history.ui.port=18080
2.重启spark历史服务