2015-07-17 09:59:33
来 源
中存储网
Hadoop
Hadoop的user多半是因为它的High availability和scalability能,而投向它的怀抱(当然,免钱也是个大家"心照不宣"的重要因素)。不过,一家公司究竟该有几隻大象服务才够?多久该再买一隻大象?身为"象奴",要怎么"说服"主管你还

Hadoop

Hadoop的user多半是因为它的High availability和scalability能,而投向它的怀抱(当然,免钱也是个大家"心照不宣"的重要因素)。

不过,一家公司究竟该有几隻大象服务才够?多久该再买一隻大象?身为"象奴",要怎么"说服"主管你还需要更多的大象,其实是个很难的议题。基本上,如果知道目前hadoop cluster运作的相关数据,不仅可以用来规划未来的採购计画,对目前job的执行效能、排程等等也都很有帮助。今天在网路上看到一份资料,介绍了许多hadoop cluster的管理工具,很多甚至还没有听说过(愧!)。文中提到的管理工具,大致可以分为如下几类:

  1. NameNode的GC分析:

开启NameNode的GC logging

使用GC Viewer之类工具来观察

分析记忆体的使用pattern、GC造成的暂停、或设定问题

  2. HDFS的分析:

HDFS的FsImage档:binary形式的metadata,包含档案+目录的资讯。

转换成text format,然后可以分析资料量和档案的成长情况,每个user/group的使用情况,不适合MapReduce的小档案等等。

  3. HDFS的进阶分析:

硬碟的成长与档案的"除役":利用FsImage的修改时间和存取时间来统计档案的使用情况和频率

replication factor的调整:经常存取的档案/目录可以设定较高的replication factor,已经落入"冷宫"的资料则可以降低复製的份数。

做法:log所有送到NameNode的存取请求(TAB分割的栏位),使用pig或MR来分析。

  4. Job的分析:

对重复执行的job来说,可以利用歷史执行资料的统计值来调整input split、reducer数目、memory size、combiner等configuration,以改善执行校能

利用Replephant或twitter的hRaven之类的工具来协助分析执行情况

利用Jmxtrans来观察Java process的resource使用情况

利用Linked的White elephant来观察hadoop的资源使用情况

看来,可以玩的东西还很多呢~

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。