Java 使用ApacheFlume将日志从MapReduce作业写入HDFS
我正在尝试将MapReduce作业中的日志写入HDFS。我正在使用ApacheFlumeNG 我的环境: 爪哇6 Log4j 1.2.16 Apache Hadoop 2.3.0 Apache Flume 1.4.0 问题1 我已经创建了简单的MapReduce作业作为Maven项目,并且在我的类中使用了logger.info。作业完成后,我可以在syslog文件中查看日志 我想创建自己的log4j配置,并将日志写入控制台。 我该怎么做?我必须将log4j.properties文件放在哪里?我应该修改常规Hadoop conf/log4j.properties吗 问题2 我想将日志写入HDFS。但是我不想使用tail-f命令来编写syslog文件的内容。我只想从我的类中写入日志-logger.info方法中的消息 使用ApacheFlumeNG是否可以实现这一点? 或者我可以更容易一点吗 我想在Log4j.properties中实现Flume Log4j Appender,例如在本地主机44444端口上。在Flume NG配置中,我希望对Avro源使用相同的地址,并通过内存通道将日志写入HDFS 这是个好办法吗 问题1 哪个控制台?请记住,任务运行在不同的JVM上。因此,没有单一的控制台。如果您希望从驱动程序获取日志,那么这将是一个简单的配置 问题2 您尝试的通常是一个好的解决方案。水槽附加器可在log4j项目中使用:Java 使用ApacheFlume将日志从MapReduce作业写入HDFS,java,hadoop,log4j,hdfs,flume,Java,Hadoop,Log4j,Hdfs,Flume,我正在尝试将MapReduce作业中的日志写入HDFS。我正在使用ApacheFlumeNG 我的环境: 爪哇6 Log4j 1.2.16 Apache Hadoop 2.3.0 Apache Flume 1.4.0 问题1 我已经创建了简单的MapReduce作业作为Maven项目,并且在我的类中使用了logger.info。作业完成后,我可以在syslog文件中查看日志 我想创建自己的log4j配置,并将日志写入控制台。 我该怎么做?我必须将log4j.properties文件放在哪里?我应
:或其他选项:非常感谢。关于问题2-我应该把log4j.properties和我的Flume Appender放在哪里?在我的Maven项目中还是在hadoop/etc/log4j.properties文件中?