flume采集文件写hdfs不能创建目录的问题

本文介绍了使用 Flume 采集数据到 HDFS 时遇到的常见问题,包括配置文件中监听端口与 Hadoop 端口不一致导致的数据无法写入,Guava 库版本冲突引发的 NoSuchMethodError 错误,以及文件权限不足引起的写入失败。针对这些问题,分别提供了相应的解决方案,如调整配置文件端口,替换 Guava jar 包,以及使用正确权限设置 HDFS 目录。
摘要由CSDN通过智能技术生成

用exec source运行flume-ng agent后hdfs上不能创建指定的文件目录,可能的三种情况如下

一、配置文件中的监听端口和hadoop下的core-site.xml中的端口不一致

在我新建的.conf文件里面,需要配置hdfs的路径

hdfs://192.168.122.102:9000/flume/upload/%Y%m%d/%H

注意:此处端口号应该和hadoop下的core-site.xml里面的配置一样,否则写入不到Hdfs,这里最为致命

然后,开启flume监听端口。

二、guava-11.0.2.jar版本不一致

执行flume任务时报错:
Exception in thread “SinkRunner-PollingRunner-DefaultSinkProcessor” java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V

解决办法:
将flume的lib下的低版本guava-11.0.2.jar换成Hadoop下的高版本guava-27.0-jre.jar

cd /usr/local/hadoop-3.1.3/share/hadoop/common/lib/
cp guava-27.0-jre.jar /usr/local/flume-1.9.0/lib/
  • 然后重新执行flume任务不再报错。

三、文件权限问题

1、在普通用户权限下执行flume-ng agent后可能会提示"/opt/module/flume/flume

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值