细细品味 Hadoop
——Hadoop 集群(第 1 期)
精
华
集
锦
csAxp
虾皮工作室
http://www.cnblogs.com/xia520pi/
2012 年 4 月 3 日
创建时间:2012/4/2 修改时间:2012/4/3 修改次数:0
Hadoop 集群(第 1 期)
——CentOS 安装配置
1、准备安装
1.1 系统简介
CentOS 是什么?
CentOS 是一个基于 Red Hat 企业级 Linux 提供的可自由使用的源代码企业级的
Linux 发行版本。每个版本的 CentOS 都会获得七年的支持(通过安全更新方式)。新版本
的 CentOS 每两年发行一次,而每个版本的 CentOS 会定期(大概每六个月)更新一次,
以便支持新的硬件。这样,建立一个安全、低维护、稳定、高预测性、高重复性的 Linux 环
境。
CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于
Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源
代码,因此有些要求高度稳定性的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux
使用。两者的不同,在于 CentOS 并不包含封闭源代码软件。
CentOS 是一个开源软件贡献者和用户的社区。它对 RHEL 源代码进行重新编译,成为
众多发布新发行版本的社区当中的一个,并且在不断的发展过程中,CentOS 社区不断与其
他的同类社区合并,使 CentOS Linux 逐渐成为使用最广泛的 RHEL 兼容版本。CentOS Linux
的稳定性不比 RHEL 差,唯一不足的就是缺乏技术支持,因为它是由社区发布的免费版。
CentOS Linux 与 RHEL 产品有着严格的版本对应关系,例如使用 RHEL4 源代码重新
编译发布的是 CentO
S Linux 4.0,RHEL5 对应的是 CentOS Linux 5.0,RHEL6 对应的是
CentOS Linux 6。由 于 RHEL 产品的生命周期较长(通常具有 3~5 年的官方支持),因 此 Red
Hat 公司在 RHEL 系列产品发布后每隔一段时间,都会将累积的更新程序重新打包成为更新
的发行版进行发布,通常称为 RHEL Update。
例如,RHEL5 的第 1 个更新版本叫做 RHEL 5 Update 1,用户通常也称为 RHEL 5.1。
对 Red Hat 公司发布的每一个 RHEL Update CentOS 社区都会发布对应的更新发行版,例如
根据 RHEL 5 的 Update 1 更新程序源码包,CentOS 会重新编译并打包发布 CentOS Linux 5.1
版。CentOS Linux 和与之对应版本号的 RHEL 发行版具有软件包级别的二进制兼容性,即
某个 RPM 软件包如果可以安装运行在 RHEL 产品中,就可以正常地安装运行在对应版本的
CentOS Linux 中。CentOS Linux 由于同时具有与 RHEL 的兼容性和企业级应用的稳定性,
又允许用户自由使用,因此得到了越来越广泛的应用。
CentOS 特点
可以把 CentOS 理解为 Red Hat AS 系列!它完全就是对 Red Hat AS 进行改进后发
布的!各种操作、使用和 RED HAT 没有区别!
CentOS 完全免费,不存在 RED HAT AS4 需要序列号的问题。
CentOS 独有的 yum 命令支持在线升级,可以即时更新系统,不像 RED HAT 那样
河北工业大学——软件工程与理论实验室 编辑:虾皮
1
创建时间:2012/4/2 修改时间:2012/4/3 修改次数:0
需要花钱购买支持服务!
CentOS 修正了许多 RED HAT AS 的 BUG!
CentOS 版本说明: CentOS3.1 等同于 RED HAT AS3 Update1 CentOS3.4 等同于
RED HAT AS3 Update4 CentOS4.0 等同于 RED HAT AS4。
1.2 安装版本
本次安装我们选择 CetOS6.0 版本,下面从几个方面介绍一下这个版本。
集成基于内核的虚拟化。CentOS 6.0 集成了基于内核的虚拟化,将 KVM 管理程序
完全集成到内核中。这样的功能可以帮助 CentOS 6.0 用户在主机之间轻松迁移虚
拟机,更加灵活地部署和管理 IT 资源,有效为企业节省资源。利用内核的硬件抽
象使应用程序能够独立于底层硬件,并且提高 CPU 和内存可扩展性,使每个服务
器可容纳更多虚拟机。
提升系统和资源管理功能。基于标准的 Linux 可管理性规范(SBLIM)使用基于
Web 的企业管理(WBEM)来管理系统。用 Dracut 取代 mkinitrd,最大限度地减
少底层硬件改变的影响,更易于维护,并使支持第三方驱动程序更容易。
加强电源管理,按时的内核改进使 CentOS 6.0 可以将没有活动任务的处理器置为
空闲状态,以达到降低 CPU 的温度和更进一步减少能耗。
在一种叫做控制组(即 cgroups)的新框架的帮助下 CentOS 6.0 提供对硬件资源的
细颗粒度控制、分配和管理。cgroups 运行在进程组水平上,可被用于为应用管理
从 CPU、内存、网络和硬盘 I/O 的资源。
增强了系统的可靠性、可用性和适用性。CentOS 6.0 利用新硬件能力提供热插拔特
性,并且可以通过 AER 的 PCIe 设备的增强错误检查。CentOS 6.0 包括高级数据完
整性特性(DIF/DIX)。这类特性通过硬件检查和检验来自应用的数据。自动缺陷
报告工具(ABRT)的引进提供了确定和报告系统 异常情况,包括内核故障和用
户空间应用崩溃等。
改进了可伸缩性和内核性能。CentOS 6.0 提供了
适应未来系统的可伸缩性,其可伸
缩性能力从对大量 CPU 和内存配置的优化的支持到处理更多数量的系统互联总线
和外设的能力。在虚拟化变得同裸机部署一样无处不在之时,这些能力适合于裸机
环境和虚拟化环境。
CentOS 6.0 改进了内核性能,可以通过让更高优先级的进程在最低限度的较低优
先级处理干扰的条件下,更公平地在处理器之间分配计算时间。同时 CentOS 6.0
将多种多处理器锁同步进行改进,以消除不必要的锁定事件、用睡眠锁定代替许多
旋转(spin)锁定和采用更高效的锁定基元。
稳定的应用程序开发与生产平台。CentOS 6.0 是一个高性能、高度可扩展、分布式、
基于内存的对象缓存系统,大大提高了动态 Web 应用程序的速度。在 Web 基础架
构上主要改进了 Apache、 Squid 和 Memcached 三个方面的改进。在 Java 性能支持
上,CentOS 6.0 和 OpenJDK 的紧密集成包括在 SystemTap 中支持 Java 探测器,从
而可支持更好的 Java 调试。同时,CentOS 6.0 也在逐步完善 Tomcat 6 的支持。
官方网站与文档
官方主页: http://www.centos.org/
河北工业大学——软件工程与理论实验室 编辑:虾皮
2
创建时间:2012/4/2 修改时间:2012/4/3 修改次数:0
官方Wiki: http://wiki.centos.org/
官方中文文档 :http://wiki.centos.org/zh/Documentation
安装说明: http://www.centos.org/docs/
1.3 硬件信息
现在 Linux 发行版的安装程序的硬件识别能力都比较强,即使不查询什么硬件信息,
安装操作系统也没有什么大问题,不过对于非常新的硬件和笔记本电脑这样比较特殊的设
备,还是建议在网络上查询一下相关硬件的信息,以确保硬件可以被驱动。这里列举几种可
能需要重点考察的硬件,对于任何一种发行版都需要注意如下这些问题。
主板芯片组支持。这是一组比较重要的硬件信息,可能影响到硬盘是否可以使用、
可以启用 UDMA,是否可以使用 ACPI 或 APM 电源管理等。这里的支持程序总是
和内核版本相关的,考察的时候要注意对应的内核版本。
网络设备支持。目前,对于一般用户主要是以太网卡和无线网卡,有些无线网卡的
驱动还没有被整合进内核,但确实已经有驱动支持了。
声卡。Linux 对声音芯片的支持在历史上饱受诟病,但自从 ALSA(Advanced Linux
Sound Architecture)诞生以来,这个问题已经得到了很大程序的缓解,现在,ALSA
是 2.6 内核的一部分。不过,仍然有一些声卡问题不时地出现。特别的,目前大多
数的用户使用的是主板板载声卡,在安装系统之前应该考察一下 Linux 内核对该主
板芯片声效功能的支持。
显卡。主流的显卡目前都可以得到支持,如果需要的话,看一下显卡芯片的厂商、
型号、显存大小基本就可以了,如果希望省事的话,可以考虑选择性能虽然不强,
但开源驱动的稳定性和性能最好的 Intel 整合显卡,而追求高性能显卡的用户可以
考虑 NVIDIA芯片并在日后使用官方的驱动程序,来获得更好的 3D性能,ATI/ADM
显卡目前的 Linux 驱动是不理想的,但 AMD 已经开放了芯片的技术规范,未来一
定会得到开源驱动的良好支持。
其他外设。USB 键盘和鼠标一般都可以被支持,少数最低端的硬盘盒的移动硬盘
可能不会被支持,摄像头这些小硬件大部分都可以被支持了,另外就是一些笔记本
电脑,需要考察一下。
为了有备无患,要考察的信息还是比较多的,除了上网查找和询问周围的朋友外,使用
Live CD 进行体验也是一个很不错的办法。
1.4 硬盘分区
在计算机上安装 Linux 系统,对硬盘进行分区是一个非常重要的步骤,下面介绍几个分
区方案。
方案 1(桌面)
/boot:用来存放与 Linux 系统启动有关的程序,比如启动引导装载程序等,建议大小
为 100MB。
/:Linux 系统的根目录,所有的目录都挂在这个目录下面,建议大小为 5GB 以上。
河北工业大学——软件工程与理论实验室 编辑:虾皮
3
创建时间:2012/4/2 修改时间:2012/4/3 修改次数:0
/home:存放普通用户的数据,是普通用户的宿主目录,建议大小为剩下的空间。
swap:实现虚拟内存,建议大小是物理内存的 1~2 倍。
方案 2(服务器)
/boot:用来存放与 Linux 系统启动有关的程序,比如启动引导装载程序等,建议大小
为 100MB。
/usr:用来存放 Linux 系统中的应用程序,其相关数据较多,建议大于 3GB 以上。
/var:用来存放 Linux 系统中经常变化的数据以及日志文件,建议大于 1GB 以上。
/home:存放普通用户的数据,是普通用户的宿主目录,建议大小为剩下的空间。
/:Linux 系统的根目录,所有的目录都挂在这个目录下面,建议大小为 5GB 以上。
/tmp:将临时盘在独立的分区,可避免在文件系统被塞满时影响到系统的稳定性。建议
大小为 500MB 以上。
swap:实现虚拟内存,建议大小是物理内存的 1~2 倍。
2、光盘安装
2.1 安装引导
首先要设置计算机的 BIOS 启动顺序为光驱启动,保存设置后将安装光盘放入光驱,重
新启动计算机。
计算机启动以后会出现如下图所示的界面。
你可以直接按下<Enter>来进入图形界面的安装方式或者等待 60 秒。
下面是上图所示引导菜单选项如下:
河北工业大学——软件工程与理论实验室 编辑:虾皮
4