flume采集数据到hdfs时报错java.lang.NoSuchMethodError

flume采集数据到hdfs时报错java.lang.NoSuchMethodError

在最近的学习中,我想用flume和kafka以及hdfs设计一个日志采集的管道,使用flume监控本地文件,当本地文件发生变化时候将数据采集到kafka中,然后在通过flume消费kafka的数据采集到hdfs中存储。

但是在进行的过程中发现有一些问题,程序采集完毕之后,hdfs中并没有收集到数据,然后就开始了排除bug的选择

首先怀疑是配置文件编写错误,但是如果配置文件有明显错误就不可能执行成功,本着仔细的原则还是从头到尾的检查了一遍并没有发现配置文件的错误

然后怀疑是在监控本地文件到kafka中出现错误,是否kafka采集到了数据,然后另外打开一个终端同时消费kafka中的topic,再次运行发现可以消费到数据,这个怀疑排除

最后怀疑并且有些确定是kafka采集到hdfs的时候出现错误,然后到消费kafka到hdfs的终端中,打开flume的日志,逐一查看发现了在运行的过程中报错

在这里插入图片描述

报错原因:因为hadoop3.0+之后的guava和flume1.9的guava版本不一致造成的。

解决方法:在最初安装的时候因为是布置的集群模式,我只在一台机器上删除,而在另外的机器上忘记了删除,所以将flume/lib下的guava-11.0.2.jar删除掉即可

注意:删除guava-11.0.2.jar的服务器节点,一定要配置hadoop环境变量。否则会报java.lang.ClassNotFoundException异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

牧码文

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值