Spark本地调试和程序重启checkpoint恢复碰到的问题

Spark本地调试和程序重启checkpoint恢复碰到的问题

1、产生问题的背景
  今天自测Spark程序碰到两个问题,(1)、启动流式程序报错 (2)、重启Spark程序,同一个对象的部分数据恢复了,一部分没有恢复
  第一个问题的报错信息:在这里插入图片描述
  第二个问题的结果信息:
在这里插入图片描述
2、排查问题的原因
  第一个问题的原因是:没有配置hadoop的环境变量,导致在写checkpoint数据的时候报错了。
  第二个问题的原因是:写入checkpoint中的自定义对象还包含另外一个对象,只对外面这个自定义对象进行了kryo序列化,导致在重启Spark程序时,读取checkpoint数据,只有进行序列化后的数据才能被反序列化,就看到了有一部分数据是序列化了的,一部分是没有序列化。
3、解决问题的办法
  解决第一个问题的办法:将hadoop-common-2.2.0-bin-master的bin目录下winutils.exe放到hadoop的bin目录下,重启电脑,就配置好了hadoop环境变量。再执行Spark流式分析程序时就不会报这个空指针异常了。
  解决第二个问题的办法:将自定义对象中包含的另外一个对象也加入kryo序列化中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值