Spark Yarn 模式部署
解压缩文件
将 spark-3.0.0-bin-hadoop3.2.tgz
文件上传到 linux 并解压缩,放置在指定位置
tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz -C /opt/module
cd /opt/module
换名 :
mv spark-3.0.0-bin-hadoop3.2 spark-3.0.0-yarn
修改配置文件
修改 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_212
YARN_CONF_DIR=/opt/module/hadoop-3.1.3/etc/hadoop
修改 hadoop 配置文件 /opt/module/hadoop/etc/hadoop/yarn-site.xml
vim yarn-site.xml
内容 :
<!--是否启动一个线程检查每个任务正使用的物理内存量,如果任务超出分配值,则直接将其杀掉,默认是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>
分发 :
xsync hadoop/
配置历史服务器
修改 spark-defaults.conf.template
文件名为 spark-defaults.conf
mv spark-defaults.conf.template spark-defaults.conf
配置日志存储路径
修改 spark-default.conf
文件
vim spark-default.conf
内容 :
spark.eventLog.enabled true
spark.eventLog.dir hdfs://cpucode101:8020/directory
myhadoop.sh start
创建 hdfs 文件夹
hadoop fs -mkdir /directory
修改 spark-env.sh
文件, 添加日志配置
vim spark-env.sh
export SPARK_HISTORY_OPTS="
-Dspark.history.ui.port=18080
-Dspark.history.fs.logDirectory=hdfs://cpucode101:8020/directory
-Dspark.history.retainedApplications=30"
- 参数1:WEB UI 访问的端口号为 18080
- 参数2:指定历史服务器日志存储路径
- 参数3:指定保存 Application 历史记录的个数,如果超过这个值,旧的应用程序信息将被删除,这个是内存中的应用数,而不是页面上显示的应用数
修改 spark-defaults.conf
spark.yarn.historyServer.address=cpucode102:18080
spark.history.ui.port=18080
启动历史服务
./sbin/start-history-server.sh
启动HDFS以及YARN集群
myhadoop.sh start
提交应用
./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
查看进程
jpsall
查看历史页面
查看页面