Spark 与 Kafka 集成出错: Apache Spark: java.lang.NoSuchMethodError

本文描述了在尝试结合使用Spark与Kafka时遇到的版本不兼容问题,具体表现为Spark Streaming无法正常读取Kafka的数据。经过排查,确认为Spark与Kafka版本不匹配所致,并给出了兼容版本的组合。

按照 spark 与 kafka 的教程一步一步进行操作, 在运行 KafkaWordCount 的示例时,却始终没有预期的输出. 如果正确的话,大概是这样:

......
-------------------------------------------
Time: 1488156500000 ms
-------------------------------------------
(4,5)
(8,12)
(6,14)
(0,19)
(2,11)
(7,20)
(5,10)
(9,9)
(3,9)
(1,11)
...

实际上只有:

......
-------------------------------------------
Time: 1488156500000 ms
-------------------------------------------
-------------------------------------------
Time: 1488156600000 ms
-------------------------------------------
......

localhost:4040 查看运行日志,发现错误:NoSuchMethodError, 搜索相关内容,结果并不多,但是有人说可能是版本问题。

进一步排错, kafka 可以独立正常工作, spark streaming 也是正常工作. 两者一结合就不工作了, 最后发现是 kafka 与 spark 的版本不兼容.

已测试不兼容的版本有: kafka0.8.0/kafka0.10.2+spark2.1.0+scala2.11.8,亲测的兼容版本有: kafka0.8.2.2+spark2.1.0+scala2.11.8 .

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值