在实际的生产环境运维一个Hadoop集群有一些必须要关注的事情。
1、Namenode的高可靠性
2、节点配置与管理
3、Mapreduce的内存配置
4、启用trash
首要的是保证数据安全可靠,其次再去考虑存储效率、计算效率、运维效率的优化与提高,当你觉得Hadoop集群的性能太差太差的时候,其实是你对Hadoop的了解太少,Hadoop的效率没有被发挥出来。
数据的可靠性,可以通过高可用、高可靠的NameNode,以及具体数据多副本来实现。启用Trash可以让你在误删除数据之后快要绝望的时候给你反悔的机会,这个一定要启动的,就算你设置的时间短一点都没有关系,后悔药就靠它了。
节点的配置就太多了,最为重要当属不同配置的机器要有自己个性化的配置了,尤其是内存的配置最为重要。
参考文献:
http://www.cloudera.com/blog/2009/12/7-tips-for-improving-mapreduce-performance/
MapReduce: 提高MapReduce性能的七点建议[译]
http://wiki.apache.org/hadoop/