如何构建最佳的 Hadoop 集群 已翻译 100%

oschina 投递于 2013/01/04 23:22 (共 18 段, 翻译完成于 01-06)
阅读 3611
收藏 18
1
加载中

序言

数据库和文件中储存的数据量每天都在增长,因此我们需要构建能够储存大量数据(“大数据”),并且廉价、可维护、可伸缩的环境。传统的关系数据库(RDBMS)系统在当前的需求下成本过高并且不可伸缩,因此开发、使用能够满足需求的新技术正合时宜。

李东华
翻译于 2013/01/05 13:48
2

在这些方向中,云计算是其中一项领先的技术。云计算有许多不同的实现,我们选择的是Hadoop,这是一个拥有Apache许可、基于Google Map Reduce的框架。

在本文中,我将尝试说明如何构建一个可伸缩的Hadoop集群,以存储、索引、检索和维护理论上无限容量的数据。

AlfredCheung
翻译于 2013/01/06 08:56
2

本文将逐步介绍这些部分的安装和配置:

  • 网络体系结构
  • 操作系统
  • 硬件要求
  • Hadoop软件安装/设置
星星仔
翻译于 2013/01/06 09:22
2

网络架构

根据我们目前能够拿到的文档,可以认为云内的节点越在物理上接近,越能获得更好的性能。根据经验,网络延时越小,性能越好。

AlfredCheung
翻译于 2013/01/06 11:02
3

为了减少背景流量,我们为这个云创建了一个虚拟专用网。另外,还为应用服务器们创建了一个子网,作为访问云的入口点。

这个虚拟专用网的预计时延大约是1-2毫秒。这样一来,物理临近性就不再是一个问题,我们应该通过环境测试来验证这一点。

AlfredCheung
翻译于 2013/01/06 11:21
2

建议的网络架构:

  • 专用TOR(Top of Rack)交换机
  • 使用专用核心交换刀片或交换机
  • 确保应用服务器“靠近”Hadoop
  • 考虑使用以太网绑定
Hadoop Cluster Network Architecture

图1 - Hadoop集群的网络架构

AlfredCheung
翻译于 2013/01/06 11:10
2

操作系统

我们选择Linux作为操作系统。Linux有许多不同的发行版,包括Ubuntu、RedHat和CentOS等,无论选择哪一个都可以。基于支持和许可费用的考虑,我们最终选择了CentOS 5.7。最好是定制一个CentOS的映像,把那些需要的软件都预装进去,这样所有的机器可以包含相同的软件和工具,这是一个很好的做法。

AlfredCheung
翻译于 2013/01/06 11:18
2

根据Cloudera的建议,OS层应该采用以下设置:

  • 文件系统
        Ext3文件系统
        取消atime
        不要使用逻辑卷管理
  • 利用alternatives来管理链接
  • 使用配置管理系统(Yum、Permission、sudoers等)
  • 减少内核交换
  • 撤销一般用户访问这些云计算机的权限
  • 不要使用虚拟化
  • 至少需要以下Linux命令:
        /etc/alternatives
        ln、chmod、chown、chgrp、mount、umount、kill、rm、yum、mkdir


AlfredCheung
翻译于 2013/01/06 09:23
2

硬件要求

由于Hadoop集群中只有两种节点(Namenode/Jobtracker和Datanode/Tasktracker),因此集群内的硬件配置不要超过两种或三种。

图2 - Hadoop集群服务器角色

硬件建议:

  • Namenode/Jobtracker:1Gb/s以太网口x2、16GB内存、4个CPU、100GB磁盘
  • Datanode:1Gb/s以太网口x2、8GB内存、4个CPU、多个磁盘,总容量500GB以上
AlfredCheung
翻译于 2013/01/06 09:49
2
实际的硬件配置可以与我们建议的配置不同,这取决于你们需要存储和处理的数据量。但我们强烈建议不要在集群中混用不同的硬件配置,以免那些较弱的机器成为系统的瓶颈。
AlfredCheung
翻译于 2013/01/06 09:57
2
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
加载中

评论(1)

可观
可观
本文题目有点文过其实,这只是一篇介绍如何搭建hadoop环境的文章,距离“如何搭建最佳集群”还很远。
返回顶部
顶部