Flume v1.9.0启动报错ERROR - org.apache.flume.sink.hdfs.HDFSEventSink.process(HDFSEventSink.java:459)

报错内容

ERROR - org.apache.flume.sink.hdfs.HDFSEventSink.process(HDFSEventSink.java:459)
java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)
报错如下图:
Flume v1.9.0启动报错ERROR - org.apache.flume.sink.hdfs.HDFSEventSink.process(HDFSEventSink.java:459)_第1张图片

集群背景(基于 Hadoop 3.3.0 集群安装部署 Flume 1.9.0)

  1. Hadoop 3.3 HDFS 分布式集群基础环境
    https://blog.csdn.net/llwy1428/article/details/111144524
  2. Flume 设置了sink.type 为 hdfs
    即:
    在这里插入图片描述

报错原因

Hadoop 3.3.0 中的 guava 版本和 Flume 1.9.0 中的版本不一致
经查
Hadoop 3.3.0 中 guava-27.0-jre.jar
在这里插入图片描述
在这里插入图片描述

Flume 1.9.0 中 guava-11.0.2.jar
在这里插入图片描述
在这里插入图片描述

解决方案

删除低版本的 guava ,把高版本的 guava 复制一份放在低版本处

  1. 删除 Flume 中的 guava
    在这里插入图片描述
  2. 把 Hadoop 中的 guava 复制到 Flume 中
    在这里插入图片描述

重新启动 Flume 问题解决

你可能感兴趣的:(运行报错,hadoop,大数据,hdfs)