我有十个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
是否真的涉及大数据文件移动到这里?
答案 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。