Spark -- 配置HistoryServer并通过Yarn跳转和日志收集

配置yarn-site.xml

  修改yarn-site.xml,增加如下配置,并分发重启yarn

<!-- 日志聚集功能使能 -->
<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
</property>

<!-- 日志保留时间设置7天 -->
<property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>604800</value>
</property>
<!-- 日志服务器 -->
 <property>
       <name>yarn.log.server.url</name>
       <!-- mr job history server url -->
       <value>http://localhost:19888/jobhistory/logs</value>       
</property>

配置spark-defaults.conf

  修改spark-defaults.conf,增加如下配置,并分发

# 开启spark的日志
spark.eventLog.enabled           true
# spark日志存储路径
spark.eventLog.dir               hdfs://hadoop102:9000/spark/eventLog
# 告诉yarn要跳转的spark的historyServer地址
spark.yarn.historyServer.address=hadoop102:18080
# 设置spark的historyServer端口
spark.history.ui.port=18080

配置spark-env.sh

  修改spark-env.sh,增加如下配置,并分发

#设置spark的historyServer端口、存储路径
export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080
-Dspark.history.retainedApplications=30
-Dspark.history.fs.logDirectory=hdfs://hadoop102:9000/spark/eventLog"
#设置yarn的配置文件路径,spark on yarn需要
YARN_CONF_DIR=/opt/module/hadoop-2.7.2/etc/hadoop

启动MR History Server

sbin/mr-jobhistory-daemon.sh start historyserver

如果不开启mr history server,会出现访问不到hdfs日志:java.lang.Exception: Unknown container. Container either has not started or has already completed or doesn't belong to this node at all.
在这里插入图片描述

测试

  上面工作做完之后,重启yarn,可以跑一个spark的测试程序。之后从yarn界面的history按钮可以成功跳转spark的HistoryServer界面。

bin/spark-submit \
--master yarn \
--deploy-mode cluster \
--class org.apache.spark.examples.SparkPi \
--executor-memory 1G \
--total-executor-cores 2 \
./examples/jars/spark-examples_2.11-2.4.5.jar \
100

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击查看日志,没有问题:
在这里插入图片描述

1. Spark-YARN安装配置: Step 1:安装Hadoop 首先要安装Hadoop,因为Spark需要依赖Hadoop的YARN框架来进行资源管理和任务调度。可以参照Hadoop官网的安装文档进行安装。 Step 2:下载SparkSpark官网下载最新的Spark版本,解压缩到一个目录下。 Step 3:配置Spark环境变量 在Spark的安装目录下,进入conf目录,将spark-env.sh.template文件重命名为spark-env.sh,然后打开该文件,添加下列配置: export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop export SPARK_MASTER_HOST=<master_ip_address> export SPARK_WORKER_CORES=<number_of_cores_per_worker> export SPARK_WORKER_MEMORY=<memory_per_worker> 其中,HADOOP_CONF_DIR指定Hadoop的配置文件目录,SPARK_MASTER_HOST指定Spark的master节点地址,SPARK_WORKER_CORES指定每个worker节点的CPU核数,SPARK_WORKER_MEMORY指定每个worker节点的内存大小。 Step 4:启动Spark集群 在Spark的安装目录下,进入sbin目录,执行以下命令启动Spark集群: ./start-all.sh 这会启动Spark的master节点和worker节点。 Step 5:测试Spark集群 在Spark的安装目录下,进入bin目录,执行以下命令: ./spark-shell 这会启动Spark的命令行界面,可以在其中输入一些Spark代码进行测试。 2. 历史服务器的配置Spark的历史服务器是一个Web界面,可以显示Spark应用程序的历史记录和统计信息。要配置Spark的历史服务器,需要按照以下步骤进行操作: Step 1:启用Spark的事件日志Spark的安装目录下,进入conf目录,打开spark-defaults.conf文件,添加以下配置spark.eventLog.enabled true spark.eventLog.dir file:/tmp/spark-events 这会启用Spark的事件日志,并将日志保存在/tmp/spark-events目录下。 Step 2:启动Spark历史服务器 在Spark的安装目录下,进入sbin目录,执行以下命令启动Spark历史服务器: ./start-history-server.sh 这会启动Spark的历史服务器。 Step 3:访问Spark历史服务器 在浏览器中输入以下地址,即可访问Spark历史服务器的Web界面: http://<server_ip_address>:18080 其中,server_ip_address是Spark历史服务器所在机器的IP地址。 Step 4:查看Spark应用程序的历史记录和统计信息 在Spark历史服务器的Web界面中,可以查看Spark应用程序的历史记录和统计信息。可以选择要查看的应用程序,然后查看其详细信息、执行计划、任务列表等信息。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值