19【在线日志分析】之sparkdemo.jar运行在yarn上过程

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 1.将之前打包的jar包上传 [root@sht-sgmhadoopnn-01 spark]# pwd /root/learnproject/app/spark[root@sht-sgmhadoopnn-01 spark]# rz rz waiting to receive.

1.将之前打包的jar包上传
[root@sht-sgmhadoopnn-01 spark]# pwd
 /root/learnproject/app/spark
[root@sht-sgmhadoopnn-01 spark]# rz
 rz waiting to receive.
 Starting zmodem transfer.  Press Ctrl+C to cancel.
 Transferring sparkdemo.jar...
   100%  164113 KB     421 KB/sec    00:06:29       0 Errors

2.以下是错误

2.1 ERROR1: Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
 IDEA打包的jar包,需要使用zip删除指定文件
 zip -d sparkdemo.jar META-INF/*.RSA META-INF/*.DSA META-INF/*.SF

2.2 ERROR2: Exception in thread "main" java.lang.UnsupportedClassVersionError: com/learn/java/main/OnLineLogAnalysis2 : Unsupported major.minor version 52.0
 yarn环境的jdk版本低于编译jar包的jdk版本(需要一致或者高于;每个节点需要安装jdk,同时修改每个节点的hadoop-env.sh文件的JAVA_HOME参数指向)

2.3 ERROR3: java.lang.NoSuchMethodError: com.google.common.base.Stopwatch.createStarted()Lcom/google/common/base/Stopwatch;
 17/02/15 17:30:35 ERROR yarn.ApplicationMaster: User class threw exception: java.lang.NoSuchMethodError: com.google.common.base.Stopwatch.createStarted()Lcom/google/common/base/Stopwatch;
 java.lang.NoSuchMethodError: com.google.common.base.Stopwatch.createStarted()Lcom/google/common/base/Stopwatch;
  at org.influxdb.impl.InfluxDBImpl.ping(InfluxDBImpl.java:178)
  at org.influxdb.impl.InfluxDBImpl.version(InfluxDBImpl.java:201)
  at com.learn.java.main.OnLineLogAnalysis2.main(OnLineLogAnalysis2.java:69)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:498)
  at org.apache.spark.deploy.yarn.ApplicationMaster$$anon$2.run(ApplicationMaster.scala:627)

抛错信息为NoSuchMethodError,表示 guava可能有多版本,则低版本
 [root@sht-sgmhadoopnn-01 app]# pwd
 /root/learnproject/app
 [root@sht-sgmhadoopnn-01 app]# ll
 total 470876
 -rw-r--r--  1 root root   7509833 Jan 16 22:11 AdminLTE.zip
 drwxr-xr-x 12 root root      4096 Feb 14 11:21 hadoop
 -rw-r--r--  1 root root 197782815 Dec 24 21:16 hadoop-2.7.3.tar.gz
 drwxr-xr-x  7 root root      4096 Feb  7 11:16 kafka-manager-1.3.2.1
 -rw-r--r--  1 root root  59682993 Dec 26 14:44 kafka-manager-1.3.2.1.zip
 drwxr-xr-x  2 root root      4096 Jan  7 16:21 kafkaoffsetmonitor
 drwxr-xr-x  2  777 root      4096 Feb 14 14:48 pid
 drwxrwxr-x  4 1000 1000      4096 Oct 29 01:46 sbt
 -rw-r--r--  1 root root   1049906 Dec 25 21:29 sbt-0.13.13.tgz
 drwxrwxr-x  6 root root      4096 Mar  4  2016 scala
 -rw-r--r--  1 root root  28678231 Mar  4  2016 scala-2.11.8.tgz
 drwxr-xr-x 13 root root      4096 Feb 15 17:01 spark
 -rw-r--r--  1 root root 187426587 Nov 12 06:54 spark-2.0.2-bin-hadoop2.7.tgz
 [root@sht-sgmhadoopnn-01 app]#
 [root@sht-sgmhadoopnn-01 app]# find ./ -name *guava*
 [root@sht-sgmhadoopnn-01 app]# mv ./hadoop/share/hadoop/yarn/lib/guava-11.0.2.jar ./hadoop/share/hadoop/yarn/lib/guava-11.0.2.jar.bak
 [root@sht-sgmhadoopnn-01 app]# cp ./spark/libs/guava-20.0.jar ./hadoop/share/hadoop/yarn/lib/

[root@sht-sgmhadoopnn-01 app]# mv ./spark/jars/guava-14.0.1.jar ./spark/jars/guava-14.0.1.jar.bak
 [root@sht-sgmhadoopnn-01 app]# cp ./spark/libs/guava-20.0.jar ./spark/jars/

 [root@sht-sgmhadoopnn-01 app]# mv ./hadoop/share/hadoop/common/lib/guava-11.0.2.jar ./hadoop/share/hadoop/common/lib/guava-11.0.2.jar.bak
 [root@sht-sgmhadoopnn-01 app]# cp ./spark/libs/guava-20.0.jar ./hadoop/share/hadoop/common/lib/


3.后台提交jar包运行
[root@sht-sgmhadoopnn-01 spark]#
[root@sht-sgmhadoopnn-01 spark]# nohup /root/learnproject/app/spark/bin/spark-submit \
> --name onlineLogsAnalysis \
> --master yarn    \
> --deploy-mode cluster     \
> --conf "spark.scheduler.mode=FAIR" \
> --conf "spark.sql.codegen=true" \
> --driver-memory 2G \
> --executor-memory 2G \
> --executor-cores 1 \
> --num-executors 3 \
> --class com.learn.java.main.OnLineLogAnalysis2     \
> /root/learnproject/app/spark/sparkdemo.jar &
[1] 22926
[root@sht-sgmhadoopnn-01 spark]# nohup: ignoring input and appending output to `nohup.out'

[root@sht-sgmhadoopnn-01 spark]#
[root@sht-sgmhadoopnn-01 spark]#
[root@sht-sgmhadoopnn-01 spark]# tail -f nohup.out

4.yarn web界面查看运行log


ApplicationMaster:打开为spark history server web界面
logs: 查看stderr 和 stdout日志 (system.out.println方法输出到stdout日志中)






5.查看spark history web




6.查看DashBoard ,实时可视化

 

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
6月前
|
存储 缓存 监控
【YashanDB数据库】数据库运行正常,日志出现大量错误metadata changed
数据库运行正常,日志出现大量错误metadata changed
|
Java 应用服务中间件 Spring
为什么SpringBoot的 jar 可以直接运行?
SpringBoot的 jar 可以直接运行的原因
695 2
|
9月前
|
存储 SQL 关系型数据库
【赵渝强老师】PostgreSQL的运行日志文件
PostgreSQL的物理存储结构包括数据文件、日志文件等。运行日志默认未开启,需配置`postgresql.conf`文件中的相关参数如`log_destination`、`log_directory`等,以记录数据库状态、错误信息等。示例配置中启用了CSV格式日志,便于管理和分析。通过创建表操作,可查看生成的日志文件,了解具体日志内容。
252 3
|
9月前
|
存储 Prometheus 监控
Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行
本文深入探讨了在Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行。
357 5
|
11月前
|
存储 数据可视化 Java
震惊!如何在linux下部署项目,部署/运行jar包 超详细保姆级教程!
如何在Linux系统下部署和运行Java项目jar包,包括传输文件到Linux、使用nohup命令运行jar包、查看端口状态、杀死进程和查看项目运行状态,以及如何解决“没有主清单属性”的错误。
1754 2
震惊!如何在linux下部署项目,部署/运行jar包 超详细保姆级教程!
|
11月前
|
Arthas 监控 Java
JVM知识体系学习七:了解JVM常用命令行参数、GC日志详解、调优三大方面(JVM规划和预调优、优化JVM环境、JVM运行出现的各种问题)、Arthas
这篇文章全面介绍了JVM的命令行参数、GC日志分析以及性能调优的各个方面,包括监控工具使用和实际案例分析。
886 3
|
11月前
|
Java Windows
如何在windows上运行jar包/JAR文件 如何在cmd上运行 jar包 保姆级教程 超详细
本文提供了一个详细的教程,解释了如何在Windows操作系统的命令提示符(cmd)中运行JAR文件。
4410 1
|
Java Maven 容器
Maven使用IDEA自带工具打包,同时将lib下的jar包打入,双击jar包可直接运行
使用IntelliJ IDEA的Artifacts功能,可以将项目依赖的第三方jar包打包进jar文件中,实现双击jar包即可直接运行。
Maven使用IDEA自带工具打包,同时将lib下的jar包打入,双击jar包可直接运行
|
SQL 前端开发 Java
在IDEA中使用Maven将SpringBoot项目打成jar包、同时运行打成的jar包(前后端项目分离)
这篇文章介绍了如何在IntelliJ IDEA中使用Maven将Spring Boot项目打包成可运行的jar包,并提供了运行jar包的方法。同时,还讨论了如何解决jar包冲突问题,并提供了在IDEA中同时启动Vue前端项目和Spring Boot后端项目的步骤。
在IDEA中使用Maven将SpringBoot项目打成jar包、同时运行打成的jar包(前后端项目分离)
|
存储 运维 监控
监控与日志管理:保障系统稳定运行与高效运维的基石
【8月更文挑战第16天】监控与日志管理是保障系统稳定运行和高效运维的基石。它们不仅能够帮助企业及时发现并解决问题,还能够为性能调优、资源优化和业务决策提供有力支持。因此,在构建系统架构时,企业应高度重视监控与日志管理的规划和实施,确保它们能够充分发挥作用,为企业的发展保驾护航。同时,随着技术的不断进步和应用场景的不断拓展,监控与日志管理也将持续演进和创新,为企业带来更多的价值和便利。