Flume【问题记录 02】【java.lang.NoSuchMethodError:com.google.common.base.Preconditions.checkArgument】【避坑指南】

简介: 【2月更文挑战第18天】Flume【问题记录 02】【java.lang.NoSuchMethodError:com.google.common.base.Preconditions.checkArgument】【避坑指南】

问题

使用hdfs作为sinks时报错信息如下:

2021-08-24 15:10:11,638 INFO avro.ReliableSpoolingFileEventReader: 
Preparing to move file /tmp/logs/log.txt to /tmp/logs/log.txt.COMPLETED
2021-08-24 15:10:15,199 INFO hdfs.HDFSDataStream: 
Serializer = TEXT, UseRawLocalFileSystem = false
2021-08-24 15:10:15,240 ERROR hdfs.HDFSEventSink: process failed
# 删除一些无用的报错信息
Exception in thread "SinkRunner-PollingRunner-DefaultSinkProcessor" 
java.lang.NoSuchMethodError: com.google.common.base.
Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V
        at org.apache.hadoop.conf.Configuration.set(Configuration.java:1357)
        at org.apache.flume.sink.
        DefaultSinkProcessor.process(DefaultSinkProcessor.java:67)
        at org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:145)
        at java.lang.Thread.run(Thread.java:748)

解决

问题出在 NoSuchMethodError,但是这个类在哪个jar文件里,这是个问题!!!这种问题只能求助无私的分享者《线索一》《Hive文件上传HDFS出错》

# 查询guava的版本
[root@tcloud ~]# find /usr/local/hadoop-3.1.3/ -name '*guava-*'
/usr/local/hadoop-3.1.3/share/hadoop/hdfs/lib/guava-27.0-jre.jar
/usr/local/hadoop-3.1.3/share/hadoop/common/lib/guava-27.0-jre.jar

[root@tcloud ~]# find /usr/local/flume/ -name '*guava-*'
/usr/local/flume/lib/guava-11.0.2.jar

# 删掉flume的低版本guava-11.0.2.jar【先做备份】
[root@tcloud ~]# rm /usr/local/flume/lib/guava-11.0.2.jar
# 复制${HADOOP_HOME}/share/hadoop/common/lib/guava-27.0-jre.jar到/usr/local/flume/lib/
[root@tcloud ~]# cp /usr/local/hadoop-3.1.3/share/hadoop/common/lib/guava-27.0-jre.jar/usr/local/flume/lib/

[root@tcloud ~]# find /usr/local/flume/ -name '*guava-*'
/usr/local/flume/lib/guava-27.0-jre.jar

测试成功了!感谢无私的程序员朋友!:+1: :+1: :+1:

目录
相关文章
|
6月前
|
Java Unix 应用服务中间件
使用java service wrapper把windows flume做成服务
使用java service wrapper把windows flume做成服务
|
6月前
Error:java.util.zip.ZipException: duplicate entry: com/google/firebase/iid/zzc.class ,EvalIssueExcep
Error:java.util.zip.ZipException: duplicate entry: com/google/firebase/iid/zzc.class ,EvalIssueExcep
57 0
|
6月前
|
Java 关系型数据库 MySQL
Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
【4月更文挑战第12天】Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
627 3
|
6月前
|
Shell
Flume【问题记录 01】【at org.apache.flume.node.Application.main(Application.java:xxx) 类问题整理+其他类型问题总结】【避坑指南】
【2月更文挑战第17天】Flume【问题记录 01】【at org.apache.flume.node.Application.main(Application.java:xxx) 类问题整理+其他类型问题总结】【避坑指南】
279 2
|
14天前
|
JSON Java 开发工具
Java服务端集成Google FCM推送的注意事项和实际经验
本文分享了作者在公司APP海外发布过程中,选择Google FCM进行消息推送的集成经验。文章详细解析了Java集成FCM推送的多种实现方式,包括HTTP请求和SDK集成,并指出了通知栏消息和透传消息的区别与应用场景。同时,作者还探讨了Firebase项目的创建、配置和服务端集成的注意事项,帮助读者解决文档混乱和选择困难的问题。
18 1
|
1月前
|
JSON Java 开发工具
Java服务端集成Google FCM推送的注意事项和实际经验
公司的app要上海外,涉及到推送功能,经过综合考虑,选择Google FCM进行消息推送。 查看一些集成博客和官方文档,看的似懂非懂,迷迷惑惑。本篇文章除了将我实际集成的经验分享出来,也会对看到的博客及其中产生的疑惑、注意事项一一评论。 从官方文档和众多博客中,你会发现Java集成FCM推送有多种实现方式,会让生产生文档很乱,不知作何选择的困惑。
70 0
|
6月前
|
Java
Java【问题记录 03】三目运算符失效问题刨根问底(及NPE分析)
Java【问题记录 03】三目运算符失效问题刨根问底(及NPE分析)
58 1
|
6月前
|
SQL JSON Java
Java【问题记录 02】对象封装+固定排序+list All elements are null引起的异常处理+Missing artifact com.sun:tools:jar:1.8.0
Java【问题记录 02】对象封装+固定排序+list All elements are null引起的异常处理+Missing artifact com.sun:tools:jar:1.8.0
73 0
|
6月前
|
关系型数据库 MySQL Java
Elasticsearch【问题记录 01】启动&停止服务的2类方法及 java.nio.file.AccessDeniedException: xx/pid 问题解决(含启停shell脚本)
Elasticsearch【问题记录 01】启动&停止服务的2类方法及 java.nio.file.AccessDeniedException: xx/pid 问题解决(含启停shell脚本)
157 0
|
6月前
|
Java 数据库
Java【问题记录 04】时间戳类型字符串{Timestamp@15601}2021-07-14 18:56:53.0变成带T的Object类型2021-07-14T10:56:53.000+0000
Java【问题记录 04】时间戳类型字符串{Timestamp@15601}2021-07-14 18:56:53.0变成带T的Object类型2021-07-14T10:56:53.000+0000
46 0