[问题2]使用yarn client 方式提交程序,报错scala.Predef$.refArrayOps([Ljava/lang/Object;)Lscala/collection/mutable/ArrayOps;
at org.apache.spark.streaming.kafka010.KafkaRDD.count(KafkaRDD.scala:94)
使用yarn cluster 方式提交,报错
diagnostics: User class threw exception: java.lang.IllegalStateException: JobGenerator has already been stopped accidentally
解决:
部署前要做的check项
在提交任务的客户端,使用spark-submit -version 查看spark的版本信息
Flink或Spark引入的jar对应的scala是不是和你环境的scala一致,别一个2.11,一个2.13.
Pom文件检查jar的scala版本
项目检查Project Structure>Global Libraries
在Project Structure>Modules>Dependencies,检查下面Export里Scala版本对不对,检查是不是引入了多个
调试流程
1.本地
2.yarn client
3.yarn cluster
问题定位的一般流程
1.Hadoop集群的RM(ResourceManager)节点上查看日志。进入RM的管理页面,搜索对应的的application id,然后点击进入
2.通过yarn logs -applicationId id 查看所有executor的日志
3.
遇到的问题
[问题1]在公司的集群上以yarn cluster的方式提交任务,前端UI显示任务一直处于accepted的状态 解决:
把本地模式的master去掉
[问题2]使用yarn client 方式提交程序,报错scala.Predef$.refArrayOps([Ljava/lang/Object;)Lscala/collection/mutable/ArrayOps; at org.apache.spark.streaming.kafka010.KafkaRDD.count(KafkaRDD.scala:94) 使用yarn cluster 方式提交,报错 diagnostics: User class threw exception: java.lang.IllegalStateException: JobGenerator has already been stopped accidentally 解决: