大数据Spark运行模式: Yarn模式与配置详解
在强大的Yarn环境下Spark是如何工作的?(在国内公司中,Yarn使用的非常多)。
1 解压缩文件
将spark-3.0.0-bin-hadoop3.2.tgz文件上传到linux并解压缩,放置在指定位置。
tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz -C /opt/modulecd /opt/modulemv spark-3.0.0-bin-hadoop3.2 spark-yarn
2 修改配置文件
1) 修改hadoop配置文件/opt/module/hadoop/etc/hadoop/yarn-site.xml, 并分发
yarn.nodemanager.pmem-check-enabled false yarn.nodemanager.vmem-check-enabled false
2) 修改conf/spark-env.sh,添加JAVA_HOME和YARN_CONF_DIR配置
mv spark-env.sh.template spark-env.sh。。。export JAVA_HOME=/opt/module/jdk1.8.0_212YARN_CONF_DIR=/opt/module/hadoop/etc/hadoop
3 启动HDFS以及YARN集群
4 提交应用
bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode cluster ./examples/jars/spark-examples_2.12-3.0.0.jar 10
查看http://hadoop103:8088页面,点击History,查看历史页面
5 配置历史服务器
1) 修改spark-defaults.conf.template文件名为spark-defaults.conf
mv spark-defaults.conf.template spark-defaults.conf
2) 修改spark-default.conf文件,配置日志存储路径
spark.eventLog.enabled truespark.eventLog.dir hdfs://hadoop102:8020/directory
注意:需要启动hadoop集群,HDFS上的目录需要提前存在。
[root@hadoop102 hadoop]# sbin/start-dfs.sh[root@hadoop102 hadoop]# hadoop fs -mkdir /directory
3) 修改spark-env.sh文件, 添加日志配置
export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080-Dspark.history.fs.logDirectory=hdfs://hadoop102:8020/directory-Dspark.history.retainedApplications=30"
注:写成一行!!空格隔开!!!
l 参数1含义:WEB UI访问的端口号为18080
l 参数2含义:指定历史服务器日志存储路径
l 参数3含义:指定保存Application历史记录的个数,如果超过这个值,旧的应用程序信息将被删除,这个是内存中的应用数,而不是页面上显示的应用数。
4) 修改spark-defaults.conf
spark.yarn.historyServer.address=hadoop102:18080spark.history.ui.port=18080
5) 启动历史服务
sbin/start-history-server.sh
6) 重新提交应用
bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode client ./examples/jars/spark-examples_2.12-3.0.0.jar 10
7) Web页面查看日志:http://hadoop103:8088
你的赞,我都当成喜欢。
专注分享大数据技术&智能技术&基础&实战,干货,资料。
关注本号,让更多人了解技术,让技术造福更多人。欢迎转发传播,感谢您的关注,谢谢。