SparkSubmit进程无法强制kill掉以及Flink相关error

SparkSubmit进程无法强制kill掉


文章目录

  • SparkSubmit进程无法强制kill掉
      1. 写在前面
      1. 正文
      1. Flink配合Kafka使用问题的记录

0. 写在前面

  • 操作系统:Linux(CentOS7.5)
  • Spark版本:Spark3.0.0
  • Scala版本:Scala2.12.1
  • Flink版本:Flink-1.13.1

本文出现「SparkSubmit进程无法强制kill掉」这种情况是在使用Spark-Shell环境下执行MLib的相关程序后导致的

1. 正文

注意:SparkSubmit进程无法强制kill掉,即使是 kill -9 多次不成功!

  • 新会话窗口执行kill强制命令

尝试新开一个会话窗口,在新的会话窗口强制进行 kill ,依旧是不能强制杀掉这个SparkSubmit进程

  • 查看SparkSubmit对应进程号的父进程是否存在,如果存在,直接杀掉其对应的父进程。

该方法查询不到对应的父进程,请换用下方的另一种方法 > 查看这个SparkSubmit进程的父进程有哪些,命令如下方图所示:

查询到的完整信息如下代码块所示:

shell 复制代码
[whybigdata@bd01 ~]$ cat /proc/2116/status 
Name:	java 
State:	Z (zombie) 
Tgid:	2116 
Ngid:	0 
Pid:	2116 
PPid:	2105 TracerPid:	0 
Uid:	1000	1000	1000	1000 
Gid:	1000	1000	1000	1000 
FDSize:	0 Groups:	10 1000  
Threads:	1 
SigQ:	2/7804 
SigPnd:	0000000000000000
ShdPnd:	0000000000000100 
SigBlk:	0000000000000000 
SigIgn:	0000000000000000 
SigCgt:	2000000181005ccf 
CapInh:	0000000000000000 
CapPrm:	0000000000000000 
CapEff:	0000000000000000 
CapBnd:	0000001fffffffff 
CapAmb:	0000000000000000 
Seccomp:	0 
Cpus_allowed: ffffffff,ffffffff,ffffffff,ffffffff 
Cpus_allowed_list: 0-127 
Mems_allowed: 00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001 
Mems_allowed_list:	0 
voluntary_ctxt_switches:	6 
nonvoluntary_ctxt_switches:	5
  • 解释说明:
  • Pid: 2116 --> 表示当前进程
  • PPid: 2105 --> 表示当前进程对应的父进程
  • 获取到SparkSubmit进程对应的父进程号后,首先强制杀掉父进程,再次查看进程是否kill成功,命令如下方所示

shell kill -9 sub_pid

可以看到我们以及成功kill掉了SparkSubmit进程了 - 重新回到旧的会话窗口,可以观察到如下图所示的进程情况:

2. Flink配合Kafka使用问题的记录

Flink通过Kafka读取数据进行分组统计求最大值,并设置了窗口的大小,将Kafka生产端Input主题的数据消费到Output主题中

shell 复制代码
Caused by: java.lang.ClassCastException: cannot assign instance of org.apache.commons.collections.map.LinkedMap to field org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumerBase.pendingOffsetsToCommit of type org.apache.commons.collections.map.LinkedMap in instance of org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer 	 	
   	at java.io.ObjectStreamClass$FieldReflector.setObjFieldValues(ObjectStreamClass.java:2287) 	 	
   	at java.io.ObjectStreamClass.setObjFieldValues(ObjectStreamClass.java:1417) 	 	
   	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2293)
	 	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2211) 
    	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2069) 
    	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573) 
    	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2287) 
    	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2211) 
    	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2069) 
    	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573) 	 	
    	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2287) 	 	
    	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2211) 	 	
    	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2069) 	 	
    	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573) 	 	
    	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431) 	 	
    	at org.apache.flink.util.InstantiationUtil.deserializeObject(InstantiationUtil.java:615)  	
    	at org.apache.flink.util.InstantiationUtil.deserializeObject(InstantiationUtil.java:600)  	
    	at org.apache.flink.util.InstantiationUtil.deserializeObject(InstantiationUtil.java:587)  	
    	at org.apache.flink.util.InstantiationUtil.readObjectFromConfig(InstantiationUtil.java:541)  	
    	at org.apache.flink.streaming.api.graph.StreamConfig.getStreamOperatorFactory(StreamConfig.java:322)  	
    	... 7 more

Caused by: java.lang.ClassCastException: cannot assign instance of org.apache.commons.collections.map.LinkedMap to field org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumerBase.pendingOffsetsToCommit of type org.apache.commons.collections.map.LinkedMap in instance of org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer >

出现错误的原因是:Kafka库与Flink的反向类加载方法不兼容,修改 Flink安装目录下的 conf/flink-conf.yaml 并重新启动Flink > classloader.resolve-order: parent-first
注意,在Flink中执行 bin/flink run --class class_refrence your.jar命令前要将Jar包所需要的依赖放进到 Flink安装目录下的 lib 目录中。
全文结束!!!

相关推荐
阿坤带你走近大数据22 分钟前
大数据行业中,什么是拉链表?具体怎么做?
大数据
Hello.Reader22 分钟前
Flink ML 线性 SVM(Linear SVC)入门输入输出列、训练参数与 Java 示例解读
java·支持向量机·flink
数字化顾问1 小时前
(100页PPT)未来工厂大数据应用专题建设解决方案(附下载方式)
大数据
tiannian12202 小时前
如何选择适合企业的RFID系统解决方案?
大数据·人工智能
程途拾光1582 小时前
绿色AI与低功耗推理架构
大数据·人工智能
G皮T2 小时前
【Elasticsearch】查询性能调优(三):track_total_hits 和 terminate_after 可能的冲突
大数据·elasticsearch·搜索引擎·全文检索·索引·性能·opensearch
川西胖墩墩3 小时前
中文PC端跨职能流程图模板免费下载
大数据·论文阅读·人工智能·架构·流程图
TDengine (老段)3 小时前
TDengine 企业用户建表规模有多大?
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
Hello.Reader4 小时前
Flink ML MinMaxScaler 把特征缩放到统一区间 [min, max]
大数据·人工智能·flink
许泽宇的技术分享4 小时前
2025年度技术之旅:在AI浪潮下的个人突破、持续创作与平衡之道
大数据·人工智能