Spark on Yarn 部署

作者:🧑‍🚀 deadmau5v 发布于 2023/1/24

需要提前部署 hadoop 并启动

1、解压软件包

cd /opt/software
tar -zxvf spark-3.1.1-bin-hadoop3.2.tgz
mv spark-3.1.1-bin-hadoop3.2 /opt/module/spark-3.1.1

2、profile 配置

vim /etc/profile

#SPARK
export SPARK_HOME=/opt/module/spark-3.1.1
export PATH=$PATH:$SPARK_HOME/bin

# 分发
scp -r /etc/profile slave1:/etc/
scp -r /etc/profile slave2:/etc/
source /etc/profile

3、yarn-site配置

vim $HADOOP_HOME/etc/hadoop/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>

4、spark env配置

cp $SPARK_HOME/conf/spark-env.sh.template $SPARK_HOME/conf/spark-env.sh
vim $SPARK_HOME/conf/spark-env.sh

export JAVA_HOME=/opt/module/jdk1.8.0_212
YARN_CONF_DIR=/opt/module/hadoop-3.1.3/etc/hadoop
# 添加日志配置
export SPARK_HISTORY_OPTS="
-Dspark.history.ui.port=18080
-Dspark.history.fs.logDirectory=hdfs://master:8020/directory
-Dspark.history.retainedApplications=30"

5、配置历史服务器

# 添加历史服务器配置
cp $SPARK_HOME/conf/spark-defaults.conf.template $SPARK_HOME/conf/spark-defaults.conf
vim $SPARK_HOME/conf/spark-defaults.conf

spark.eventLog.enabled      true
spark.eventLog.dir          hdfs://master:8020/directory
spark.yarn.historyServer.address=master:18080
spark.history.ui.port=18080

6、HDFS创建路径

# 在HDFS创建一个历史服务器路径
hadoop fs -mkdir /directory

6、提交应用测试

集群模式

$SPARK_HOME/bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode cluster \
$SPARK_HOME/examples/jars/spark-examples_2.12-3.1.1.jar \
10

客户端模式

$SPARK_HOME/bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode client \
$SPARK_HOME/examples/jars/spark-examples_2.12-3.1.1.jar \
10

7、启动

yarn

# 查看任务
http://slave1:8088/

spark

# 启动
$SPARK_HOME/sbin/start-all.sh
# 关闭
$SPARK_HOME/sbin/stop-all.sh
# 访问地址
http://master:8081/

历史服务器

# 启动
$SPARK_HOME/sbin/start-history-server.sh
# 关闭
$SPARK_HOME/sbin/stop-history-server.sh
# 访问地址
http://master:18080/

标签:SparkYARN分布式计算离线计算

评论

发表评论

加载评论中...