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

简介:

本节书摘来自华章出版社《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用户权限运行下列命令:
image

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

请注意所有这些配置参数都只能应用于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的命令:
image

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

2.1.3 其他操作系统设定

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

我们推荐为集群中的节点配置有意义的主机名,以此反映主机所担当的功能。这种方法也有利于采用脚本生成一份在所有服务器中传递的主机/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/。
还需要新增一个存储库密钥:
image

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

相关文章
|
1月前
|
安全 Linux 数据安全/隐私保护
Vanilla OS:下一代安全 Linux 发行版
【10月更文挑战第30天】
58 0
Vanilla OS:下一代安全 Linux 发行版
|
2月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
184 6
|
5天前
|
人工智能 安全 Android开发
移动应用开发与操作系统的深度协同:构建高效、安全的移动生态####
【10月更文挑战第21天】 本文深入探讨了移动应用开发与移动操作系统之间的内在联系与相互影响,强调了两者在构建高效、安全移动生态系统中的关键作用。通过分析当前主流移动操作系统(如Android、iOS)的特性及发展趋势,结合移动应用开发的最新技术与挑战,本文旨在为开发者提供一套全面的理解框架,以促进更加协同高效的应用开发实践。 ####
36 18
|
11天前
|
SQL 网络安全 数据库
GBase 8a集群V8客户端gccli适配欧拉操作系统绕行方案分析
GBase 8a集群V8客户端gccli适配欧拉操作系统绕行方案分析
|
18天前
|
开发框架 .NET PHP
网站应用项目如何选择阿里云服务器实例规格+内存+CPU+带宽+操作系统等配置
对于使用阿里云服务器的搭建网站的用户来说,面对众多可选的实例规格和配置选项,我们应该如何做出最佳选择,以最大化业务效益并控制成本,成为大家比较关注的问题,如果实例、内存、CPU、带宽等配置选择不合适,可能会影响到自己业务在云服务器上的计算性能及后期运营状况,本文将详细解析企业在搭建网站应用项目时选购阿里云服务器应考虑的一些因素,以供参考。
|
27天前
|
安全 物联网 Unix
什么是安全操作系统?
什么是安全操作系统?
45 2
|
1月前
|
缓存 资源调度 安全
深入探索Linux操作系统的心脏——内核配置与优化####
本文作为一篇技术性深度解析文章,旨在引领读者踏上一场揭秘Linux内核配置与优化的奇妙之旅。不同于传统的摘要概述,本文将以实战为导向,直接跳入核心内容,探讨如何通过精细调整内核参数来提升系统性能、增强安全性及实现资源高效利用。从基础概念到高级技巧,逐步揭示那些隐藏在命令行背后的强大功能,为系统管理员和高级用户打开一扇通往极致性能与定制化体验的大门。 --- ###
65 9
|
1月前
|
人工智能 安全 Ubuntu
操作系统加码主动防护:数智化有了“安全底座”
操作系统的发展遵循约20年的周期律,从大型机到个人电脑,再到互联网时代,每次变革都催生了新的应用和市场。当前,随着数字化、智能化的浪潮,操作系统再次迎来革新机遇。以Linux为代表的开源操作系统,凭借其开放性和安全性,在服务器市场占据主导地位。面对AI时代的安全挑战,openEuler提出“OS for AI,AI for OS”理念,通过复式内核设计和AI技术,强化了系统的安全性和性能,展现了中国在开源领域的创新实力。
|
1月前
|
人工智能 供应链 安全
下一篇
DataWorks