Spark环境搭建-Spark-on-Yarn

本文详细介绍了如何配置Yarn的历史服务器,包括开启日志聚合、设置保存时间和服务器地址,并关闭内存检查。同时,也指导如何配置Spark的历史服务器,整合到Yarn,并调整Spark环境变量和日志路径。
摘要由CSDN通过智能技术生成

1、配置Yarn的历史服务器和关闭资源整合

修改:

vi /usr/local/hadoop-3.1.0/etc/hadoop/yarn-site.xml

<!--开启日志聚合功能-->

<property>

        <name>yarn.log-aggregation-enable</name>

        <value>true</value>

</property>

<!--设置聚合日志在hdfs上的保存时间-->

<property>

        <name>yarn.log-aggregation.retain-seconds</name>

        <va1ue>604800</va1ue>

</property>

<!--设置yarn历史服务器地址-->

<property>

        <name>yarn.log.server.url</name>

        <value>http://hadoop01:19888/jobhistory/logs</value>

</property>

<!--关闭yarn内存检查-->

<property>

        <name>yarn.nodemanager.pmem-check-enabled</name>

        <value>false</value>

</property>

<property>

        <name>yarn.nodemanager.vmem-check-enabled</name>

        <value>false</value>

</property>

 注意:如果之前没有配置,现在配置了需要重启并分发yarn

 分发

 cd /usr/local/hadoop-3.1.0/etc/hadoop

scp -r yarn-site.xml root@hadoop02:$PWD

scp -r yarn-site.xml root@hadoop03:$PWD

 重启Yarn

/usr/local/hadoop-3.1.0/sbin/stop-yarn.sh

/usr/local/hadoop-3.1.0/sbin/stop-yarn.sh

2、配置Spark的历史服务器和Yarn的整合

进入spark/conf 文件夹中

cd /usr/local/spark-3.3.3-bin-hadoop3/conf

修改spark-defaults.conf.template 文件

vim spark-defaults.conf.template

根据视频教程添加配置,结合自身已配置好的集群,修改成如下配置:

spark.eventLog.enabled                  true

spark.eventLog.dir                      hdfs://hadoop01:9000/sparklog/

spark.yarn.historyServer.address=hadoop01:18080

spark.history.ui.port=18080

 注意此数的hdfs://hadoop01:9000/sparklog/,端口号要改为与/usr/local/hadoop-3.1.0/etc/hadoop中core-site文件的namenode端口号一致如下:

修改spark-env.sh 文件   注:此处应为spark-env.sh.template临时文件可以在/conf目录下通过指令

cp  ./spark-env.sh.template ./spark-env.sh

来修改文件名为:spark-env.sh 来方便操作并且可以备份文件

vim spark-env.sh

在文件末尾增加

export export SPARK_DIST_CLASSPATH=$(${HADOOP_HOME}/bin/hadoop classpath)

export JAVA_HOME=$JAVA_HOME

export HADOOP_HOME=$HADOOP_HOME

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

YARN_CONF_DIR=$HADOOP_HOME/ect/hadoop

SPARK_MASTER_HOST=hadoop01


##配置HDFs和Yarn配置文件路径--前面已经配置过了

HADOOP_CONF_DIR=/usr/local/hadoop-3.1.0/etc/hadoop

YARN_CONF_DIR=/usr/local/hadoop-3.1.0/etc/hadoop

##配置spark历史日志存储地址

SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://hadoop01:8020/sparklog/ -Dspark.history.fs.cleaner.enabled=true"

此时需要创建一个新文件

注意:sparklog需要手动创建

hadoop fs -mkdir -p /sparklog

此时出现问题:

mkdir: Call From hadoop01/192.168.0.127 to hadoop01:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused

因为根据视频教程一步步来但是在此之前自己已经配置好环境的情况下有很多设置与视频教程中不同,所以需要找出问题所在直至能够成功创建好sparklog文件夹。

首先排除代码和目录出现的错误,因为按照视频教程我检测了很多遍,所处目录和代码都一致,通过观察报错hadoop的端口号和配置中的端口号不一致,因为不懂基本原理打算先将上述:

hdfs://hadoop01:8020/sparklog/ 改为 hdfs://hadoop01:9000/sparklog/  

更改完成后重新输入创建文件代码任然不能成功,尝试失败就得查找原理,按照原理来找出原因此段话的意思时节点拒绝访问,所以可能是为启动Hadoop通过指令:

start-all.sh

启动Hadoop集群,再次输入

hadoop fs -mkdir -p /sparklog

发现没有报错通过:

hdfs dfs -ls /

查看是否创建文件成功显示如下表明创建成功,时间可能与创建时间不对不上可能是其他国家的时间,但是并不影响

也可通过 http://hadoop01:50070

 查看是否创建成功

修改日志级别

vim log4j2.properties

 

修改 

rootLogger.level =WARN,info
rootLogger.appenderRef.stdout.ref console

 分发,可选如果只在Hadoop01上提交spark任务,那么不需要分发

scp -r spark-defaults.conf.template root@hadoop02:$PWD

scp -r spark-defaults.conf.template root@hadoop03:$PWD

scp -r spark-env.sh root@hadoop02:$PWD

scp -r spark-env.sh root@hadoop03:$PWD

scp -r log4j2.properties root@hadoop02:$PWD

scp -r log4j2.properties root@hadoop03:$PWD

配置依赖的Spark的jar包

1.在HDFS上创建存储spark相关jar包的目录

hadoop fs -mkdir -p /spark/jars/

2.上传$SPARK_HOME/jars所有jar包到HDFS

hadoop fs -put /usr/local/spark-3.3.3-bin-hadoop3/jars/* /spark/jars/

3.在node1上修改spark-defaults.conf

vim /usr/local/spark-3.3.3-bin-hadoop3/conf/spark-defaults.conf

添加内容

spark.yarn.jars hdfs://hadoop01:9000/spark/jars/*

同步

cd /usr/local/spark-3.3.3-bin-hadoop3/conf

scp -r spark-defaults.conf root@hadoop02:$PWD

scp -r spark-defaults.conf root@hadoop03:$PWD

在hadoop web ui界面中可以看到如下:

启动服务

启动HDFS和YARN服务,在hadoop01执行命令

start-dfs.sh

start-yarn.sh

start-all.sh

 启动MRHistoryServer服务,在hadoop01执行命令

 mr-jobhistory-daemon.sh start historyserver(提出警告但是可以正常启动)

mapred --daemon start historyserver(二选一都可用)

 启动Spark HistoryServer服务,,在hadoop01执行命令

 /usr/local/spark-3.3.3-bin-hadoop3/sbin/start-history-server.sh

 输入jps查看启动目录如下启动成功:

 

查看

MRHistoryServer服务VEB UI页面:

http://hadoop01:19888

 

Spark HistoryServer服务WEB UIT页面:

http://hadoop01:18080/

 成功显示表示创建成功!!!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值