启动flume代理时未找到文件异常

baubqpgj  于 2021-06-02  发布在  Hadoop
关注(0)|答案(3)|浏览(800)

我第一次安装了Flume。我正在使用hadoop-1.2.1和flume 1.6.0
我试着按照这个指南设置一个flume代理。
我执行了这个命令: $ bin/flume-ng agent -n $agent_name -c conf -f conf/flume-conf.properties.template 上面写着 log4j:ERROR setFile(null,true) call failed. java.io.FileNotFoundException: ./logs/flume.log (No such file or directory) 不是吗 flume.log 自动生成的文件?如果没有,如何纠正此错误?

emeijp43

emeijp431#

您得到这个错误可能是因为您直接在控制台上运行命令,您必须首先转到flume中的bin并尝试在控制台上运行您的命令。

gpfsuwkq

gpfsuwkq2#

试试这个:

mkdir ./logs
sudo chown `whoami` ./logs
bin/flume-ng agent -n $agent_name -c conf -f conf/flume-conf.properties.template

第一行创建 logs 当前目录中的目录(如果它不存在)。第二个将目录的所有者设置为当前用户(您),以便 flume-ng 以用户可以写入的方式运行。
最后,请注意,这不是运行flume的推荐方法,只是一个快速的尝试。

q3aa0525

q3aa05253#

正如@botond所说,您需要设置正确的权限。
但是,如果您在程序中运行flume,如supervisor或使用自定义脚本,则可能需要更改默认路径,因为它是相对于启动程序的。此路径在/path/to/apache-flume-1.6.0-bin/conf/log4j.properties中定义。在那里你可以换线

flume.log.dir=./logs

要使用您想要使用的绝对路径,您仍然需要正确的权限。

相关问题