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源代码重新编译发布的是CentOS 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那样需要花钱购买支持服务!
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/
官方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以上。
/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秒。
下面是上图所示引导菜单选项如下:
Install or upgrade an existing system(安装或升级现有系统):
这个选项是默认的。 选择此选项,安装到您的计算机使用CentOS的图形安装程序的系统。
Install system with basic video driver(安装系统,基本的视频驱动程序):
此选项允许您安装CentOS的模式,即使在图形安装程序无法加载视频卡的正确驱动程序为您的。如果你的屏幕上出现扭曲或一片空白时使用的安装或升级现有系统的选项,重新启动计算机,并尝试此选项。
Rescue installed system(救援安装的系统):
选择这个选项来修复您的安装CentOS系统,防止正常启动你一个问题。虽然CentOS是一个非常稳定的计算平台,它是偶然的问题仍有可能发生,防止启动。 救援环境包含实用程序,允许您解决这些问题,品种繁多。
Boot from local drive(从本地驱动器启动):
此选项将引导从第一个安装的磁盘系统。 如果你意外地启动这个光盘,使用未立即启动安装程序这是从硬盘启动选项。
2.2 检测光盘介质
如下图所示,如果是一张完整的安装盘,可以直接单击"Skip"按钮跳过,否则单击"OK"按钮检测安装盘的完整性。
备注:如果你确定你所下载的DVD或光盘没有问题的话,那么这里可以选择'Skip', 不过,你也可以按下'OK'来进行DVD的分析,因为通过DVD的分析后,后续的安装比较不会出现奇怪的问题。 不过如果你按下'OK'后,程式会开始分析光盘内的所有文件的资讯,会花非常多的时间喔!
2.3 安装欢迎界面
当检测完电脑硬件信息后,进入安装欢迎界面,如下图所示。
2.4 选择安装过程中的语言
单击"Next"按钮进入如下图所示的界面,选择安装过程中使用的语言,此处选择"Chinese (Simplified)(中文(简体))"。
2.5 选择键盘布局类型
选择完安装过程中的语言后,单击"下一步"按钮进入如下图所示的界面,选择键盘类型一般默认会选择"美国英语式(U.S.English)",即美式键盘,在此使用默认的选择。
2.6 选择设备
选择一种存储设备进行安装。"基本存储设备"作为安装空间的默认选择,适合哪些不知道应该选择哪个存储设备的用户。而"指定的存储设备"则需要用户将系统安装指定到特定的存储设备上,可以是本地某个设备,当然也可以是SAN(存储局域网)。用户一旦选择了这个选项,可以添加FCoE/iSCSI/zFCP磁盘,并且能够过滤掉安装程序应该忽略的设备。这里选择"基本存储设备",单击"下一步"按钮。
备注:基本存储设备:用于台式机和笔记本等等;指定存储设备:用于服务器等等。
2.7 初始化硬盘
如果硬盘上没有找到分区表,安装程序会要求初始化硬盘。此操作使硬盘上的任何现有数据无法读取。如果您的系统具有全新的硬盘没有操作系统安装,或删除硬盘上的所有分区,则单击 "重新初始化"。
备注:安装程序将为您提供一个单独的对话框,为每个磁盘,它无法读取一个有效的分区表。单击"忽略所有"按钮,或"重新初始化所有"按钮,可将应用到所有设备相同的答案。
2.8 设置主机名与网络
安装程序会提示您提供和域名为这台计算机的主机名格式,设置主机名和域名 。 许多网络有DHCP(动态主机配置协议)服务,它会自动提供域名系统的一个连接,让用户输入一个主机名。除非您有特定需要定制的主机名和域名,默认设置 localhost.localdomain 是一个很好的选择大多数用户。我们这里按照下表进行填写主机名和域名,详情请看"Hadoop集群_第2期_机器信息分布表"。
表2.8-1 机器信息分布
设置固定IP
选择『配置网络』à『有线』à『eth0』à『编辑』,弹出编辑窗口上选择"IPv4设置",打开"方法"边上的下拉菜单,选择"手动"。单击 "添加"按钮,依次输入本机的IP、子网掩码、网关。在下面的"DNS服务器"处输入DNS地址。最后,点击"应用"按钮即可。
按照前面的表2.8-1进行配置IP地址。
2.9 时区选择
因为全世界分为24个时区,所以,要告知系统时区在哪里。如下图所示,你可以选择北京,或直接用鼠标在地图上选择。要特别注意UTC,它与"夏令时"有关,我们不需要选择这个选项,否则会造成时区混乱,导致系统显示的时间与本地时间不同。
2.10 设置管理员密码
下面是最重要的"系统管理员的口令"设置,如下图所示。在Linux中,系统管理员的默认名称为root,请注意,这个口令很重要。至少6个字符以上,含有特殊符号,并要记好。
备注:当你设置好进入下一步时,由于你的密码可能设置的过于简单,此时会弹出一个对话框,如果你要坚持你设置的密码,可以选择"无论如何都是用"。
2.11 磁盘分区配置
为方便大家分区硬盘,CentOS预设给了我们分区模式,分别为:
备注:我们实际是直接选的是"使用所有空间",当时就是图方便,但实际工作中却要按照实际的要求对硬盘进行分区,合理利用硬盘。而这里选择"创建自定义布局",按照1.4小节给出的服务器分区方案对硬盘重新分区。
下面是对每个选项的详细介绍:
使用所有空间(Use All Space ):
选择此选项,删除您硬盘上的所有分区(这包括如Windows的NTFS分区VFAT或其他操作系统创建的分区)。
替换现有的Linux系统(Replace Existing Linux System):
选择此选项,以消除先前的Linux安装创建的分区。 这不会删除其他分区(如VFAT或FAT32分区),你可能对您的硬盘驱动器。
选择此选项,调整当前的数据和分区安装在手动释放的空间是一个默认的红帽企业Linux布局。
选择此选项以保留您当前的数据和分区并安装在未使用的存储驱动器上的空间可用的Scientific。 确保有足够的存储驱动器上的可用空间,然后再选择此选项。
选择此选项,手动存储设备进行分区并创建自定义布局。
下面是"创建自定义布局"的步骤:
第一步:选择"创建自定义布局",按"下一步"按钮;如下图所示。
第二步:创建"/boot"
选择要分区的空闲空间,按下"创建"后,就会出现如下的画面。选择"标准分区"后,点击"生成"。
挂载点:选择"/boot";文件系统类型:使用默认"Ext4 日志文件系统";大小:输入分配的大小100,以 MB 为单位;其它大小选项:选择"固定大小";点"确定"按钮。
第三步:创建"/"
继续选择空闲空间,按下"创建"后,就会出现如下的画面。选择"标准分区"后,点击"生成"。
挂载点:选择"/";文件系统类型:使用默认"Ext4 日志文件系统";大小:输入分配的大小5000,以 MB 为单位;其它大小选项:选择"固定大小";点"确定"按钮。
第四步:创建交换空间
继续选择空闲空间,点"创建"后,就会出现如下的画面。选择"标准分区"后,点击"生成"。
文件系统类型:选择"swap";大小:输入分配的大小1000,以 MB 为单位;其它大小选项:选择"固定大小"。点"确定"按钮。
备注:"交换空间"用于实现虚拟内存,建议大小是物理内存的1~2倍。
第五步:创建"/usr"
继续选择空闲空间,按下"创建"后,就会出现如下的画面。选择"标准分区"后,点击"生成"。
挂载点:选择"/usr";文件系统类型:使用默认"Ext4 日志文件系统";大小:输入分配的大小3000,以 MB 为单位;其它大小选项:选择"固定大小";点"确定"按钮。
第六步:创建"/var"
继续选择空闲空间,按下"创建"后,就会出现如下的画面。选择"标准分区"后,点击"生成"。
挂载点:选择"/var";文件系统类型:使用默认"Ext4 日志文件系统";大小:输入分配的大小1000,以 MB 为单位;其它大小选项:选择"固定大小",点"确定"按钮。
备注:图与第五步基本相同,故略。
第七步:创建"/tmp"
继续选择空闲空间,按下"创建"后,就会出现如下的画面。选择"标准分区"后,点击"生成"。
挂载点:选择"/tmp";文件系统类型:使用默认"Ext4 日志文件系统";大小:输入分配的大小500,以 MB 为单位;其它大小选项:选择"固定大小",点"确定"按钮。
备注:图与第五步基本相同,故略。
第八步:"/home"分区
继续选择空闲空间,点"创建"后,就会出现如下的画面。选择"标准分区"后,点击"生成"。
挂载点:选择"/home";文件系统类型:使用默认"Ext4 日志文件系统";其它大小选项:选择"使用全部可用空间",点"确定"按钮。
至此,分区已全部创建完毕,如果不满意,还可以点击"重设"按钮进行更改。如果确定,就点"下一步"按钮后,弹出"是否格式化以下已存在的硬盘",选择"格式化"。
安装程序会提示您确认您所选的分区选项。单击"将修改写入磁盘",以允许安装程序在您的硬盘进行分区,并安装系统更改。
2.12引导装载程序设置
如下图所示为GRUB引导安装窗口,可采用默认设置,直接单击"下一步"按钮。
备注:设置引导装载程序密码的方法是,选择"使用引导装载程序口令",在弹出的窗口中输入密码。我们实际中并没有设置此项。
2.13选择安装的软件包
可选的服务器类型更多,而且默认安装是一个非常小的甚至不完整的系统。选中"现在自定义",然后单击"下一步"按钮,如下图所示。
可选的类型说明如下:
- Desktop:基本的桌面系统,包括常用的桌面软件,如文档查看工具。
- Minimal Desktop:基本的桌面系统,包含的软件更少。
- Minimal:基本的系统,不含有任何可选的软件包。
- Basic Server:安装的基本系统的平台支持,不包含桌面。
- Database Server:基本系统平台,加上MySQL和PostgreSQL数据库,无桌面。
- Web Server:基本系统平台,加上PHP,Web server,还有MySQL和PostgreSQL数据库的客户端,无桌面。
- Virtual Host:基本系统加虚拟平台。
- Software Development Workstation:包含软件包较多,基本系统,虚拟化平台,桌面环境,开发工具。
备注:我们这里安装Linux是作为服务器使用,没有必要安装图形界面,故选择的是最小化安装(Minimal),如果想安装图形界面,可以选择桌面安装(Desktop)。
因为上一步我们选择的是最小化安装(Minimal),所以在以下软件包设置画面中,所有的软件包默认都是没有被选中的状态。这里我们只选择我们需要的软件包来安装。
首先,选中「基本系统」中的「基本」。
然后,选中「开发」中的「开发工具」。
最后,在「语言支持」中选中「中文支持」。如果您有支持其他语言的需要,也可以在这里一并选择。最后点击"下一步",开始安装。
2.14开始安装Linux系统
开始安装。在安装的画面中,会显示还需要多少时间,每个软件包的名称,以及该软件包的简单说明,如下图所示。
等到安装完之后,一切就都完成了。出现最后这个画面时,请将光盘拿出来,并按下"重新引导"按钮去启动,如下图所示。
3、环境设置
在CentOS 6刚刚安装好之后,默认的安全设置以及服务启动等等可能并不符合我们的需求,所以在搭建各种系统服务之前,我们先将系统环境设置为最为简洁的状态,在以后开通各种服务的时候,在按照服务的需求来进行具体的定制。
3.1 建立一般用户
root 用户拥有控制整个系统的最高权限,如果在一般的操作中我们用 root 来进行,很容易不小心对系统造成误删、误更改等操作,所以我们首先建立一般用户,用一般用户来应付日常的系统操作。
在一般用户建立成功以后,我们就可以用一般用户来登录系统进行日常的系统管理。在一些需要 root 权限的情况,我们可以通过以下方式在一般用户的登录状态下直接登录为 root 用户来进行需要 root 权限的操作。
如以上示范,我们可以在一般用户登录的状态下通过"su -"命令来直接登录为 root 用户。
3.2 关闭防火墙及SELinux
本站文档是假定「服务器在防火墙以内」的前提下编纂的,在这个前提下,服务器本身在内部网络是不需要防火墙的(在需要抵御内部安全威胁的情况下,您也可以用您在 iptables 方面的相关知识,根据实情设置防火前,并保证服务器端防火墙启动的状态)。另外,在一般情况下,我们不需要 SELinux 复杂的保护,所以也将其设置为无效的状态。
关闭防火墙
关闭SELinux
用下面命令执行,并修改内容如下所示:
vim /etc/sysconfig/selinux
SELINUX=enforcing
↓
SELINUX=disabled
接着在执行如下命令:
setenforce 0
getenforce
3.3 关闭不需要的服务
使用下面命令进行关闭不需要的服务:
for SERVICES in abrtd acpid auditd avahi-daemon cpuspeed haldaemon mdmonitor messagebus udev-post; do chkconfig ${SERVICES} off; done