我需要一个系统来分析大型日志文件。前几天,一位朋友指示我做了hadoop,看起来很适合我的需求。我的问题围绕着将数据导入hadoop -
是否可以让我的集群上的节点在将数据传输到HDFS时进行流数据传输?或者每个节点是否需要写入本地临时文件并在达到一定大小后提交临时文件?是否可以附加到HDFS中的文件,同时还在同一个文件上同时运行查询/作业?
答案 0 :(得分:2)
Fluentd日志收集器刚刚发布了它的WebHDFS plugin,它允许用户立即将数据流式传输到HDFS。它易于管理,非常易于安装。
当然,您可以直接从应用程序导入数据。这是一个Java示例,用于针对Fluentd发布日志。
答案 1 :(得分:1)
hadoop作业可以在多个输入文件上运行,因此实际上不需要将所有数据保存为一个文件。但是,在文件句柄正确关闭之前,您将无法处理文件。
答案 2 :(得分:0)
HDFS不支持追加(但是?)
我所做的是定期运行map-reduce作业并将结果输出到'processed_logs _#{timestamp}'文件夹。 另一项工作可以在以后处理这些已处理的日志并将它们推送到数据库等,以便可以在线查询
答案 3 :(得分:0)
我建议使用Flume将服务器中的日志文件收集到HDFS中。