本节书摘来自华章出版社《Hadoop集群与安全》一书中的第2章,第2.1节,作者 (美)Danil Zburivsky Sudheesh Narayanan,更多章节内容可以访问云栖社区“华章计算机”公众号查看

2.1 在Hadoop集群中配置操作系统

正如之前所提到的,Hadoop能够运行在几乎所有Linux版本的系统上。本章随后的讲解会将重点放在CentOS 6.x上,CentOS和Red Hat是Hadoop相关产品安装最为普及的平台。要掌握这些步骤并不难,对于Debian系统所有与配置Hadoop组件的步骤都是一致的,因此读者可以根据自身需求替换对应的包管理器。

2.1.1 选择和设置文件系统

现代Linux系统支持多种不同的文件系统:如EXT3、EXT4、XFS、BTRFS,等等。针对特定的工作负载,这些文件系统具有略微不同的差别。
如果追求性能的稳定性以及高级特性,那么可以使用EXT3,它在最大型的Hadoop集群中已经得到了测试。完整的列表请参见http://wiki.apache.org/hadoop/DiskSetup。在本书中我们将使用EXT4,因为它在大型文件中有着更为出众的表现,这点使它成为了优秀的Hadoop文件系统之一。
要将使用EXT4文件系统的分卷格式化,请在命令解释器中以root用户权限运行下列命令:

在本例中,驱动器b上的分块1将会进行格式化。在这条格式化命令中包含了多个选项,讲解如下:
-m 0:该选项将预留给超级用户的空间设置为0(默认值为5%)。在大型文件系统中将节省巨大的磁盘空间。如果每台服务器上有16TB的容量,那么总共能节省大约800GB的空间。
-O extent,sparse_super,flex_bg:该选项开启了基于分区的分配,以此在大规模的连续输入输出请求中提升效率。sparse_super选项同样能够节省磁盘空间。通过分配更少的超级块备份拷贝在大型文件系统中节省空间。flex_bg选项强制文件系统紧密排列元数据分块,以此进一步提升性能。
在文件系统中进行分卷时有两个需要注意的选项:noatime和noadirtime。默认情况下文件系统通过升级元数据时间戳字段对操作进行跟踪,其中包括读取文件或者访问目录。在繁忙的系统中这将导致巨大的开销,因此我们应该将该选项关闭。下面的示例在/etc/fstab中关闭了该特性:

请注意所有这些配置参数都只能应用于DataNode数据节点硬盘。我们推荐在NameNode上使用磁盘阵列。请根据控制器的制造商确定磁盘阵列的配置。

2.1.2 设置Java开发包

Hadoop是用Java开发的,因此必须确认在Hadoop节点上安装了对应版本的JDK。请确保在所有节点上都使用了相同版本的JDK。目前官方支持的JVM版本只有Oracle公司一家。有报告表示Hadoop在OpenJDK上也有良好的表现,但是我们仍然坚持使用Oracle JDK。在编写本书时,Hadoop正在Java 6上进行测试运行,而Oracle最新的Java版本为7,实际上Java 6在2013年2月已经退出了历史舞台。在http://wiki.apache.org/hadoop/HadoopJavaVersions上读者可以找到所有经过Hadoop测试的Java版本。CentOS中并没有包含Oracle JDK,因此读者需要单独下载进行安装。可以从http://www.oracle.com/technetwork/java/javase/downloads/jdk6downloads-1902814.html上获得安装包(如果下载链接发生了变化,请读者在Google上搜索Oracle Java 6)。可以选择最新的6.x版本,新的升级和安全补丁都会随时进行更新。请确保使用rpm文件进行安装。我们将使用Cloudera公司的发行版,包括在随后章节用于安装Hadoop的Apache Hadoop(CDH)包,它依赖于Oracle Java的rpm文件。下面是安装64位Oracle Java 1.6.0_45的命令:

请确认在所有Hadoop节点上都进行了安装(包括网关服务器)。

2.1.3 其他操作系统设定

除了上述内容外,还需要对其他操作系统设定进行修改来确保Hadoop集群的正常运作。首先需要确认集群中的主机名/IP地址解析是否运行正常。当Hadoop主节点(比如NameNode或者JobTracker)首次从DataNode获取心跳信息后,它会记录下IP地址用于随后的通信。因此有必要在集群中为所有节点都配置合适的主机名,同时确保它们能使用/etc/hosts文件正确解析IP地址。为了保证主机报告了正确的IP地址,可以使用ping命令并确认返回的IP地址。/etc/hosts文件的示例如下所示:

我们推荐为集群中的节点配置有意义的主机名,以此反映主机所担当的功能。这种方法也有利于采用脚本生成一份在所有服务器中传递的主机/IP列表。

2.1.4 设置CDH存储库

根据选择的发行版,有多种安装Hadoop的方法。即使是同样的发行版也有各种安装途径。CDH提供了多种辅助模式帮助我们在集群中安装Hadoop包:可以使用Cloudera管理器网络接口来自动发现集群中的节点,安装和预先配置合适的安装包;或者设置CDH存储库,之后手工安装组件。在本书中我们采用手工安装,因为这能帮助我们更好地理解Hadoop中的机制以及组件之间进行交互的区别。我们仍然采用yum包管理工具确保文件的复制位置以及服务的设置,等等。这样我们就能将更多的注意力放在组件的配置上。
首先要做的是新增yum存储库。存储库的选择依赖于读者选择的操作系统,完整的列表请参见http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-Installation-Guide/cdh4ig_topic_4_4.html。本书中的所有示例都采用了最新的版本:64位CentOS 6上的CDH 4.2。在读者阅读本书时可能会有新的CDH发布,因此请读者自行对指令进行调整。要增加存储库,请在服务器上下载该文件,网址为http://archive.cloudera.com/cdh4/redhat/6/x86_64/cdh/cloudera-cdh4.repoand place it into /etc/yum.repos.d/。
还需要新增一个存储库密钥:

在完成该步骤后,可以运行下列命令确认可用的Hadoop包:

《Hadoop集群与安全》一2.1 在Hadoop集群中配置操作系统相关推荐

  1. Linux集群部署系列(六):Hadoop 在window系统下安装方法

    Hadoop-Windows安装 1.安装前的准备工作 1.下载JDK 网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8- ...

  2. 阿里云ECS服务器部署HADOOP集群(三):ZooKeeper 完全分布式集群搭建

    本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建,多添加了一个 datanode 节点 . 1 节点环境介绍: 1.1 环境介绍: 服务器:三台阿里 ...

  3. Hadoop(二): YARN(资源管理器 RM)、HBase高可用集群搭建

    目录 一.Hadoop的高可用原理概述 1.1 原理概述 1.2 实验环境要求 二.高可用集群的搭建 2.1 搭建Zookeeper 2.2 搭建HA的高可用 2.3 YARN(资源管理器 RM)高可 ...

  4. Hadoop化繁为简(一)-从安装Linux到搭建集群环境

    Hadoop化繁为简(一)-从安装Linux到搭建集群环境 简介与环境准备 hadoop的核心是分布式文件系统HDFS以及批处理计算MapReduce.近年,随着大数据.云计算.物联网的兴起,也极大的 ...

  5. 王家林的“云计算分布式大数据Hadoop实战高手之路---从零开始”的第五讲Hadoop图文训练课程:解决典型Hadoop分布式集群环境搭建问题

    王家林的"云计算分布式大数据Hadoop实战高手之路---从零开始"的第五讲Hadoop图文训练课程:解决典型Hadoop分布式集群环境搭建问题 参考文章: (1)王家林的&quo ...

  6. 【Hadoop集群】-集群搭建踩的那些坑之hadoop篇

    上篇文章说了在集群搭建的时候首先要开启ssh的公钥验证,只有开启了公钥验证后才能够使用公钥登录,但是在开启并生成公钥后还需要对秘钥文件进行授权处理,一般生成的authorized_keys可能文件的归 ...

  7. Solr集群搭建,zookeeper集群搭建,Solr分片管理,Solr集群下的DataImport,分词配置。...

    1   什么是SolrCloud SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud.当一个系统的索引数据量少的时候 ...

  8. Solr集群搭建,zookeeper集群搭建,Solr分片管理,Solr集群下的DataImport,分词配置。

    1   什么是SolrCloud SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud.当一个系统的索引数据量少的时候 ...

  9. ZK锦集:Zookeeper的下载和安装 | 真/伪集群的快速搭建| 总结的很详细

    前言 文章力求:通俗易懂.图文并茂.系统全面,语言精练,主要介绍以下知识点: 1.zk基础知识铺路,做到屋里有粮,心中不慌 2.zk的下载.安装.核心参数配置.节点参数释义 3.zk集群快速搭建的两种 ...

最新文章

  1. 大一java实训报告1500字_从800字小作文,到3000字小论文你用了多久? | 校媒FM
  2. ROS系统的安装 ubuntu 18.04.5 LTS
  3. 值类型与引用类型(下)
  4. JAVA大数_棋盘覆盖
  5. android 获取设备串号,Android获取设备IMEI和Mac地址
  6. shell if else 用法 syntax error near unexpected token `then'
  7. java电信计费项目论文_基于JAVA开发的电信IP计费系统设计毕业论文
  8. Java基本语法(8)--比较运算符
  9. 施密特正交化_格拉姆-施密特正交化--QR分解法的来源
  10. 在Android上可视化TensorFlow Lite AI结果
  11. 学游戏设计要什么学历_学平面设计有学历限制吗?
  12. File转换成MultiPartFile
  13. Wannafly挑战赛27: C. 蓝魔法师(树形DP)
  14. pr剪辑教程,如何跨剪辑应用和调整效果?
  15. java 静态方法 异常_java – 如何模拟一个void静态方法来抛出与Powermock的异常?...
  16. windows之电脑开机出现 this product is covered by one or more of the following prtents
  17. epoll + 非阻塞IO + openssl
  18. formatter格式说明
  19. 【资源】公开的电子书 合集 (计算机相关、多高清、pdf)
  20. AE插件:能量激光描边光效特效Saber

热门文章

  1. 中国首个火星探测器天问一号发射成功!
  2. Solaris Mount
  3. Mac下firefox ssl_error_ssl_disabled
  4. 《编程原本 》一2.1 变换
  5. 【项目】MD5加盐源码理解
  6. 影响Python运行效率的因素有哪些?
  7. python分析nginx日志,每分钟nginx请求超过10ms的比例
  8. Entity Framework 的事务 DbTransaction
  9. 安装openssh 到 am5728 板子上
  10. ASP.NET MVC 第三章 异步提交数据