我在 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)级别写入控制台。想不通为什么?
您的命令行中有一个错字:
flume-ng agent -n agent-name -c conf -f conf/flume.conf -Dflume.root.looger=DEBUG,console
它说root.looger而不是root.logger,因此您的命令行选项被 log4j.propeties 文件中的某些内容覆盖
-Dflume.root.logger属性覆盖conf/log4j.properties中的根记录器以使用控制台附加程序。如果您没有覆盖根记录器,一切仍然有效,但输出将转到文件log/flume.log。当然,您也可以只编辑conf/log4j.properties文件并更改 flume.root.logger 属性(或您喜欢的任何其他内容)。
如果将flume 的bin 目录(包含flume-ng shell)放在PATH 上,它将不起作用。您必须从水槽的根目录启动它,并在conf/log4j.properties中放置所需的日志级别,在本例中为 DEBUG。然后,只有这样,它才会登录到所需级别的文件或控制台。
您应该使用它在控制台中获取调试级别信息。
bin/flume-ng 代理 --conf ./conf/ -f conf/flume.conf -Dflume.root.logger=DEBUG,console -n 代理