1、上传并解压文件
tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz -C /opt/module
cd /opt/module
mv spark-3.0.0-bin-hadoop3.2.tgz spark-yarn
2、修改配置文件
(1)修改hadoop配置文件yarn-site.xml,并分发给Hadoop集群中的其他机器
<!--是否启动一个线程检查每个任务正使用的物理内存量,如果任务超出分配值,则直接将其杀掉,默认是 true -->
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<!--是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是 true -->
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
(2)修改spark-env.sh,添加JAVA_HOME和YARN_CONF_DIR配置信息
将 spark-env.sh.template 的文件名改为 spark-env.sh
mv spark-env.sh.template spark-env.sh
(3)启动Hadoop集群
(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://hadoop102: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 true
spark.eventLog.dir hdfs://hadoop101:8020/directory
注意:需要启动 hadoop 集群,HDFS 上的目录需要提前存在。
(3)修改 spark-env.sh 文件, 添加日志配置
export SPARK_HISTORY_OPTS="
-Dspark.history.ui.port=18080
-Dspark.history.fs.logDirectory=hdfs://hadoop101:8020/directory
-Dspark.history.retainedApplications=30"
(4)修改 spark-defaults.conf
spark.yarn.historyServer.address=hadoop101:18080
sparl.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://hadoop102:8088