跨多个节点的日志的Hadoop句柄

时间:2017-02-20 15:03:29

标签: hadoop hdfs

我有十个sevrers,每个sevrers每天都会生成大约3G日志文件。我已经完成了hadoop教程,并在每台机器上安装了每个hadoop(HDFS)。我想要的是使用map-reduce来分析这些日志。

我的问题是如何在hadoop中启用MP的每日日志?目前,对于服务器A,我手动将日志文件复制到HDFS目录:

  >hadoop fs -put local_log_path /A/log_20170219.1

然后

  >hadoop jar MR_path  MP_driver_class /A/log_20170219.1 output_path.

还有其他更有效的方法,所以我不必去每个服务器,并手动将新生成的日志复制到DFS系统吗?命令fs -put是否真的涉及大数据文件移动到这里?

2 个答案:

答案 0 :(得分:1)

你可以看一下apache flume,它提供了根据配置在hdfs中存储服务器日志的用例。

答案 1 :(得分:0)

有很多方法可以实现这一目标。

1)如果你想使用正常方式,你可以检查distcp,这比普通的put或copyFromLocal命令增加了优势。 Distcp只是分布式副本。  然后,您可以安排cron执行distcp,然后在成功完成复制后执行jar。

有关详情: - https://hadoop.apache.org/docs/r1.2.1/distcp2.html

2)如果你想减少这种努力并使用工具,那么你可以检查任何摄取工具,如Flume,Splunk。