18【在线日志分析】之Spark on Yarn配置日志Web UI(HistoryServer服务)

简介: 1.进入spark目录和配置文件 [root@sht-sgmhadoopnn-01 ~]# cd /root/learnproject/app/spark/conf [root@sht-sgmhadoopnn-01 conf]# cp spark-defaults.

1.进入spark目录和配置文件
[root@sht-sgmhadoopnn-01 ~]# cd /root/learnproject/app/spark/conf
[root@sht-sgmhadoopnn-01 conf]# cp spark-defaults.conf.template spark-defaults.conf

2.创建spark-history的存储日志路径为hdfs上(当然也可以在linux文件系统上)
[root@sht-sgmhadoopnn-01 conf]# hdfs dfs -ls /
Found 3 items
drwxr-xr-x   - root root          0 2017-02-14 12:43 /spark
drwxrwx---   - root root          0 2017-02-14 12:58 /tmp
drwxr-xr-x   - root root          0 2017-02-14 12:58 /user
You have new mail in /var/spool/mail/root
[root@sht-sgmhadoopnn-01 conf]# hdfs dfs -ls /spark
Found 1 items
drwxrwxrwx   - root root          0 2017-02-15 21:44 /spark/checkpointdata
[root@sht-sgmhadoopnn-01 conf]# hdfs dfs -mkdir /spark/historylog
#在HDFS中创建一个目录,用于保存Spark运行日志信息。Spark History Server从此目录中读取日志信息

3.配置
[root@sht-sgmhadoopnn-01 conf]# vi spark-defaults.conf
spark.eventLog.enabled           true
spark.eventLog.compress          true
spark.eventLog.dir               hdfs://nameservice1/spark/historylog
spark.yarn.historyServer.address 172.16.101.55:18080

#spark.eventLog.dir保存日志相关信息的路径,可以是hdfs://开头的HDFS路径,也可以是file://开头的本地路径,都需要提前创建
#spark.yarn.historyServer.address : Spark history server的地址(不加http://).
这个地址会在Spark应用程序完成后提交给YARN RM,然后可以在RM UI上点击链接跳转到history server UI上.

4.添加SPARK_HISTORY_OPTS参数
[root@sht-sgmhadoopnn-01 conf]# vi spark-env.sh
#!/usr/bin/env bash

export SCALA_HOME=/root/learnproject/app/scala
export JAVA_HOME=/usr/java/jdk1.8.0_111
export SPARK_MASTER_IP=172.16.101.55
export SPARK_WORKER_MEMORY=1g
export SPARK_PID_DIR=/root/learnproject/app/pid
export HADOOP_CONF_DIR=/root/learnproject/app/hadoop/etc/hadoop


export SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://mycluster/spark/historylog \
-Dspark.history.ui.port=18080 \
-Dspark.history.retainedApplications=20"

5.启动服务和查看
[root@sht-sgmhadoopnn-01 spark]# ./sbin/start-history-server.sh
starting org.apache.spark.deploy.history.HistoryServer, logging to /root/learnproject/app/spark/logs/spark-root-org.apache.spark.deploy.history.HistoryServer-1-sht-sgmhadoopnn-01.out

 

[root@sht-sgmhadoopnn-01 ~]# jps
28905 HistoryServer
30407 ProdServerStart
30373 ResourceManager
30957 NameNode
16949 Jps
30280 DFSZKFailoverController
31445 JobHistoryServer
[root@sht-sgmhadoopnn-01 ~]# ps -ef|grep spark
root     17283 16928  0 21:42 pts/2    00:00:00 grep spark
root     28905     1  0 Feb16 ?        00:09:11 /usr/java/jdk1.8.0_111/bin/java -cp /root/learnproject/app/spark/conf/:/root/learnproject/app/spark/jars/*:/root/learnproject/app/hadoop/etc/hadoop/ -Dspark.history.fs.logDirectory=hdfs://mycluster/spark/historylog -Dspark.history.ui.port=18080 -Dspark.history.retainedApplications=20 -Xmx1g org.apache.spark.deploy.history.HistoryServer
You have new mail in /var/spool/mail/root
[root@sht-sgmhadoopnn-01 ~]# netstat -nlp|grep 28905
tcp        0      0 0.0.0.0:18080               0.0.0.0:*                   LISTEN      28905/java         
[root@sht-sgmhadoopnn-01 ~]#

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
7月前
|
算法 Java Go
【GoGin】(1)上手Go Gin 基于Go语言开发的Web框架,本文介绍了各种路由的配置信息;包含各场景下请求参数的基本传入接收
gin 框架中采用的路优酷是基于httprouter做的是一个高性能的 HTTP 请求路由器,适用于 Go 语言。它的设计目标是提供高效的路由匹配和低内存占用,特别适合需要高性能和简单路由的应用场景。
586 4
|
7月前
|
监控 安全 程序员
Python日志模块配置:从print到logging的优雅升级指南
从 `print` 到 `logging` 是 Python 开发的必经之路。`print` 调试简单却难维护,日志混乱、无法分级、缺乏上下文;而 `logging` 支持级别控制、多输出、结构化记录,助力项目可维护性升级。本文详解痛点、优势、迁移方案与最佳实践,助你构建专业日志系统,让程序“有记忆”。
581 0
|
监控 安全 BI
防火墙事件日志及日志分析
在网络安全防护体系中,防火墙作为抵御外部威胁的第一道防线,其重要性不言而喻。而对防火墙日志进行分析,更是深入了解网络流量、发现潜在安全风险的关键手段。
880 1
|
8月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
1471 5
|
SQL Java 数据库连接
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— application.yml 中对日志的配置
在 Spring Boot 项目中,`application.yml` 文件用于配置日志。通过 `logging.config` 指定日志配置文件(如 `logback.xml`),实现日志详细设置。`logging.level` 可定义包的日志输出级别,例如将 `com.itcodai.course03.dao` 包设为 `trace` 级别,便于开发时查看 SQL 操作。日志级别从高到低为 ERROR、WARN、INFO、DEBUG,生产环境建议调整为较高级别以减少日志量。本课程采用 yml 格式,因其层次清晰,但需注意格式要求。
1426 0
|
10月前
|
存储 Linux Apache
在CentOS上配置SVN至Web目录的自动同步
通过上述配置,每次当SVN仓库中提交新的更改时,`post-commit`钩子将被触发,SVN仓库的内容会自动同步到指定的Web目录,从而实现代码的连续部署。
290 16
|
安全 BI 网络安全
EventLog Analyzer 如何满足等保合规要求?密码有效期、产品日志保留、配置备份三大核心问题全面解答
EventLog Analyzer(ELA)助力企业满足网络安全等级保护要求,支持配置自动/手动备份、日志180天留存及密码策略管理,提升合规性与安全运营效率。
261 0
|
11月前
|
存储 NoSQL MongoDB
Docker中安装MongoDB并配置数据、日志、配置文件持久化。
现在,你有了一个运行在Docker中的MongoDB,它拥有自己的小空间,对高楼大厦的崩塌视而不见(会话丢失和数据不持久化的问题)。这个MongoDB的数据、日志、配置文件都会妥妥地保存在你为它精心准备的地方,天旋地转,它也不会失去一丁点儿宝贵的记忆(即使在容器重启后)。
1319 4
|
10月前
|
JSON 安全 Go
Go语言项目工程化 —— 日志、配置、错误处理规范
本章详解Go语言项目工程化核心规范,涵盖日志、配置与错误处理三大关键领域。在日志方面,强调其在问题排查、性能优化和安全审计中的作用,推荐使用高性能结构化日志库zap,并介绍日志级别与结构化输出的最佳实践。配置管理部分讨论了配置分离的必要性,对比多种配置格式如JSON、YAML及环境变量,并提供viper库实现多环境配置的示例。错误处理部分阐述Go语言显式返回error的设计哲学,讲解标准处理方式、自定义错误类型、错误封装与堆栈追踪技巧,并提出按调用层级进行错误处理的建议。最后,总结各模块的工程化最佳实践,助力构建可维护、可观测且健壮的Go应用。
|
12月前
|
SQL 监控 关系型数据库
MySQL日志分析:binlog、redolog、undolog三大日志的深度探讨。
数据库管理其实和写小说一样,需要规划,需要修订,也需要有能力回滚。理解这些日志的作用与优化,就像把握写作工具的使用与运用,为我们的数据库保驾护航。
791 23