5

我在 CentOS (cloudera VM) 中安装了 Flume 1.4.0-cdh4.7.0

我运行以下命令来启动水槽

flume-ng 代理 -n 代理名称 -c conf -f conf/flume.conf -Dflume.root.looger=DEBUG,console

但它只是将默认(INFO)级别写入控制台。想不通为什么?

4

4 回答 4

5

您的命令行中有一个错字:

flume-ng agent -n agent-name -c conf -f conf/flume.conf -Dflume.root.looger=DEBUG,console

它说root.looger而不是root.logger,因此您的命令行选项被 log4j.propeties 文件中的某些内容覆盖

于 2015-01-15T14:38:12.883 回答
3

-Dflume.root.logger属性覆盖conf/log4j.properties的根记录器以使用控制台附加程序。如果您没有覆盖根记录器,一切仍然有效,但输出将转到文件log/flume.log。当然,您也可以只编辑conf/log4j.properties文件并更改 flume.root.logger 属性(或您喜欢的任何其他内容)。

于 2015-03-04T20:48:35.007 回答
1

如果将flume 的bin 目录(包含flume-ng shell)放在PATH 上,它将不起作用。您必须从水槽的根目录启动它,并在conf/log4j.properties中放置所需的日志级别,在本例中为 DEBUG。然后,只有这样,它才会登录到所需级别的文件或控制台。

于 2015-07-20T12:18:08.670 回答
1

您应该使用它在控制台中获取调试级别信息。

bin/flume-ng 代理 --conf ./conf/ -f conf/flume.conf -Dflume.root.logger=DEBUG,console -n 代理

于 2015-07-21T16:16:30.893 回答