- 浏览: 41182 次
- 性别:
- 来自: 深圳
最新评论
-
Wuaner:
体积小巧,文字却很清晰,不错的版本。谢谢lz分享!
Hadoop权威指南(第二版)pdf中文版 -
laserdance:
command type python3.2
在Linux下安装Python
作者:JesseZhang (CNZQS|JesseZhang)
博客地址:http://www.cnzqs.com
要点:
1、集群规范
1.1网络拓扑
2、集群的构建和安装
2.1安装Java
2.2创建Hadoop用户
2.3安装Hadoop
2.4测试安装
3、SSH配置
4、Hadoop配置
3.1配置管理
3.2环境设置
3.3 Hadoop守护进程的关键属性
3.4 Hadoop守护进程的地址和端口
3.5 Hadoop的其他属性
3.6 创建用户账号
5、安全性
3.1Kerberos和Hadoop
3.2委托令牌
3.3 其他安全性改进
6、利用基准测试程序测试Hadoop集群
3.1Hadoop基准测试程序
3.2用户的作业
7、云端的Hadoop
3.1Amazon EC2上的Hadoop
============================================
1、 集群规范
Hadoop运行在商业硬件上,注意两个问题:
1、 商业硬件并不等同于低端硬件,低端机器便宜的零部件会导致维护成本巨大。
2、 也不建议构建在大型机器上,因为集群服务器较少,某一台出现故障,对整个集群影响较大。(故障硬件所占的比重增大了)
尽管集群采用的机器硬件会有所不同,但Hadoop一般使用多核CPU和多磁盘,以便充分利用现代化硬件的强大功能。
2010年搭建Hadoop硬件的典型规格为:
处理器:2个四核 2-2.5GHz CPU
内存: 16 – 24GB ECC RAM
存储器:4 * 1TB SATA硬盘
网络:千兆以太网
不适用RAID的原因:
1、 不会给HDFS带来好处;HDFS本身已满足数据备份需求。
2、 尽管RAID条带化(RAID 0)技术被广泛用于提升性能,但其速度仍然比HDFS的JBOD(Just a Bunch Of Disks)慢
3、 JBOD配置的某一磁盘出现故障,HDFS还可以忽略该磁盘继续工作,RAID的某一盘片故障可能会导致整个磁盘阵列不可用。
Hadoop是用Java编写,可用在任意装了JVM的机器上运行,但仍有部分代码(控制脚本等)需要在Unix环境下执行;所以:hadoop并不适宜在非Unix平台上运行供生产用。
1、 集群大小可用根据需要逐步扩展(初始大概在10台左右)。
2、 辅助namenode和namenode可用运行在同一机器之中,但由于内存的原因(辅助与主需要同样的内存需求),二者最好运行在独立的硬件只上。
3、 运行namenode的机器一般采用64位硬件,避免32位架构下Java堆的3GB内存限制。
网络拓扑:
1、 通常Hadoop集群架构包含两级网络拓扑。
2、 这一架构的突出特点是:同一机架内部节点间的总带宽要远高于不同机架节点的带宽。
典型场景是:
1、 各机架装配30-40个服务器,共享一个1GB的交换机
2、 各机架的交换机又通过上行链路与一个核心交换机或者路由器互联。
对多机架的集群,要搞清楚节点和机架之间的映射关系,主要是网络位置、距离。
Hadoop配置需要通过一个java接口DNSToSwitchMapping来记录节点地址和网络位置之间的映射关系。
一定要注意配置映射关系
2、 集群的构建和安装
1、Hadoop安装方式,可以用工具安装,也可以通过SHELL自己实现。
2、安装Java,需要java 6或者更新版本,首选方案采用最新稳定的sun JDK
3、 创建Hadoop用户,最好是创建特定的Hadoop用户账号以区分Hadoop和本机上的其他服务。安装方式可以采用NFS挂载的方式 或者 本地安装;如果选择NFS,则有必要考虑autofs
4、 安装Hadoop,安装可行的路径有:/usr/local 、 /opt 、 /home/hadoop(自定义) ;注意:hadoop并没有安装再hadoop用户的home目录下,最好是在某一NFS挂载的目录上。(便于维护,多服务器同步)
5、 HDFS和MapReduce最好分别安装在不同位置,便于升级(可以打一个补丁,但HDFS仍在运行);独立安装后,仍然可以共享配置信息,方法是使用 –config(启动守护进程时)选项指向同一目录。主要的核心是:独立安装、共享配置、共用日志目录。
6、 安装后,要注意进行测试安装。
7、 SSH配置
创建公钥/私钥对,利用NFS在整个集群共享该密钥对。可以通过NFS或者本地复制的方式共享。
8、 Hadoop配置
1、 配置文件通常安装再安装程序外部,便于程序升级和同步。
2、 配置文件同步工具:rsync、dsh、pdsh
3、 也支持为所有的主机器和工作机器采用同一套配置文件。
4、 增加“机器类”来解决不同配置服务器组成的集群。
5、 对大型集群来说,同步化所有机器上的配置文件极有挑战性(如某台机器有异常,但此时发出更新配置的指令,如何保证机器恢复正常后也能更新配置?),推荐使用控制管理工具管理集群。
6、 Masters 和slaves文件;无须分发到所有节点,只在namenode和jobtracker上配置即可。
7、 对小型集群(几十个节点),可以直接将所有守护进程都部署在一台机器上;但对大型集群,最好能让守护进程运行在不同机器上。
8、 Namenode在内存中保存整个命名空间的所有文件和块元数据,内存需求很大。辅助namenode需要同样大小的内存空间。Jobtracker会使用大量的CPU和内存资源。这两者最好是部署在一个专用节点上。
9、 默认情况,每个守护进程1000M内存(可以在配置中设置);tasktracker启动独立的子JVM也消耗内存;内存需求需要结合守护进程和独立的子JVM进行运算;
10、 任务数(map和reduce)设置的规则是:任务数/处理器核数 在1和2之间,考虑到datanode和tasktracker也需要,所以一般设置为n-1;也可以设置MapReduce所能操作的最大内存量。一般1000M的内存可以存储几百万个文件的数据块的引用。
11、 可以使用一些工具监控集群的内存使用情况,以优化分配方案;Ganglia是采集此类信息的有效工具。
12、 日志目录可以设置,推荐独立程序之外;两类日志:
a) 日志文件(.log)应用程序的日志信息
b) .out 日志,记录标准输出和标准错误日志;系统保留最新的5个日志文件,在日志文件后加一个后缀,5表示最旧的文件。
c) 日志文件的名称包括运行守护进程的用户名称、守护进程名称和本地主机名等信息,所以可以将日志文件输出到同一目录(NFS)
13、 StrictHostKeyChecking不适合大型集群环境。大型集群下从某机器源获取配置需要注意对源机器的影响。
14、 配置文件中的目录可配置多个,根据属性的不同作用主要有:
a) 同时存储,多备份
b) 分散在不同磁盘,提高IO性能;
c) 为了提高性能,最好为各个本地磁盘指定一个存储目录;使用noatime挂载磁盘也是提高性能的方法。
15、 HDFS端口8020;MapReduce端口8021
16、 集群成员可以进行设置,来加入或者排除服务器;
17、 缓冲区大小最好修改为64KB或者128KB;默认为4KB
18、 可以通过dfs.datanode.du.reserved设置保留的存储空间
19、 回收站特性
20、 设置任务的内存限制,防止出现任务异常,用光内存;有两个办法:
a) 设置mapred.child.ulimit项,需要大于任务的JVM的内存
b) 通过limits.conf在操作系统层面限制进程所消耗的资源
21、 创建用户账号,并最好设置各用户的目录容量
9、 安全性
1、 主要通过Kerberos来实现用户认证。
2、 在0.20版本后逐步加入,在0.22版本之前,这项特性的有效性和稳定性均不成熟。
10、 利用基准测试程序测试Hadoop集群
1、 集群正确验证:运行若干作业,并确信获得了预期结果。同时也可以根据此调整集群设置以优化性能。
2、 为获得最佳效果,不能在运行基准测试程序时还同时运行其他任务;
3、 硬盘故障是新系统常见的硬件故障。
4、 Hadoop自带若干基准测试程序
a) 使用TestDFSIO来测试HDFS:测试读和写
b) 使用Sort程序测试MapReduce;对排序程序总执行时间比较关注,可以通过web界面观察作业执行过程。
c) 其他基准测试:
i. MPBench(使用mrbench选项)会多次运行一个小型作业,以检验小型作业是否能快速响应
ii. NNBench(使用nnbench选项)专门用于测试namenode硬件的负载
iii. Gridmix是一个基准测试程序套装,可以模拟真实常见的数据访问模式,逼真的为一个集群的负载建模。对用户搭建的第一个集群,这个工具比较合适。
11、 云端的Hadoop
Amazon提供Hadoop云服务:Elastic MapReduce。
Apache Whirr项目可以比较方便的在EC2和其他云服务提供商上运行Hadoop
由于S3系统并不和EC2节点兼容,所以不可以直接使用S3系统。
-----------------------------------------
发表评论
-
Hadoop正式发布1.0版本
2011-12-30 23:46 991作者:JesseZhang (CNZQS|JesseZh ... -
hadoop运行报错: java.lang.ClassNotFoundException解决方法
2011-12-11 23:10 2431作者:JesseZhang (CNZQS|JesseZh ... -
网友分享的《Hadoop实战》中文版 pdf
2011-12-08 20:50 2114作者:JesseZhang (CNZQS ... -
《权威指南》笔记十 管理Hadoop
2011-12-07 00:29 1653作者:JesseZhang (CNZQS|JesseZh ... -
《权威指南》笔记八 MapReduce的特性
2011-12-05 00:25 1511作者:JesseZhang (CNZQS|JesseZh ... -
《权威指南》笔记七 MapReduce的类型和格式
2011-12-04 00:30 1731作者:JesseZhang (CNZQS|JesseZh ... -
Google三大论文中文版 pdf
2011-11-30 11:43 1903作者:JesseZhang (CNZQS|Jess ... -
Hadoop的五个典型应用场景
2011-11-08 11:18 1696本文为转载,原始地址为:http://blog.nosq ... -
Hadoop权威指南(第二版)pdf中文版
2011-11-03 11:29 2886今天终于找到 hadoop权威指南第二版的中文pdf版本 ... -
利用Ant构建Hadoop高效开发环境
2011-10-23 23:10 934最近Hadoop的研究中,都是利用Mockito ... -
chp6_MapReduce工作机制_20111016
2011-10-16 19:42 1045MapReduce工作机制 1. ... -
chp5_MapReduce应用开发_20111011
2011-10-16 16:43 945MapReduce应用开发 1. ... -
hadoop的应用(摘自itpub论坛)
2011-09-23 22:44 1087在itpub的hadoop论坛中看到一则hadoop的应用说明 ... -
Hadoop的Namenode的容灾处理
2011-08-17 21:48 1657Hadoop的namenode是关键节点,虽然业务尽量单一,减 ... -
HDFS系统学习笔记
2011-08-14 23:19 1066HDFS系统 1. 读 ... -
hadoop开发环境配置(伪分布)
2011-08-14 10:44 1018Hadoop开发环境 安装插件 0.20.0 ... -
Hadoop安装总结
2011-08-13 13:07 870Hadoop安装总结 安装JDK 1 ... -
Hadoop及子项目介绍
2011-08-13 12:26 1541Hadoop及子项目介绍 H ... -
Google的三大基石
2011-07-20 13:58 1085Google的三大基石,也是云计算的几个重点论文的来源: ...
相关推荐
Hadoop集群安装笔记是一篇详细的安装指南,旨在帮助新手快速搭建Hadoop学习环境。以下是该笔记中的重要知识点: Hadoop集群安装目录 在安装Hadoop集群之前,需要准备好安装环境。安装环境包括Java Development Kit...
Hadoop权威指南----读书笔记
《Hadoop权威指南4》是Hadoop领域的一本经典著作,深入浅出地介绍了这个分布式计算框架的核心概念、设计原理以及实际操作。这本书是许多开发者和数据工程师学习Hadoop的首选资料,而附带的源码则为读者提供了更直观...
Hadoop 集群配置详解 Hadoop_Hadoop集群(第1期)_CentOS安装配置 Hadoop_Hadoop集群(第2期)_机器信息分布表 Hadoop_Hadoop集群(第4期)_SecureCRT使用 Hadoop_Hadoop集群(第5期)_Hadoop安装配置 Hadoop_Hadoop...
《Hadoop权威指南》是一本深入探讨大数据处理和分布式计算技术的经典著作,尤其对Hadoop生态系统的核心组件进行了详尽的阐述。这本书对于理解Hadoop集群、MapReduce编程模型以及HBase分布式数据库有着极大的帮助。接...
### Hadoop集群构建实训知识点详解 #### 一、运行平台构建 在构建Hadoop集群之前,需要对各台服务器进行必要的配置,确保集群能够稳定运行。主要包括修改主机名称、配置域名解析规则、关闭防火墙以及配置免密登录...
Hadoop 集群部署操作 Hadoop 集群部署操作是指规划、安装和配置 Hadoop 集群的整个过程,以便在生产环境中运行 Hadoop 应用程序。下面是 Hadoop 集群部署操作的详细知识点: 规划 Hadoop 集群 * 规划主机名:...
Hadoop 权威指南读书笔记 我自己画的一张图
这个“细细品味Hadoop_Hadoop集群(第9期)_MapReduce初级案例”主题聚焦于Hadoop集群的核心组件——MapReduce,这是一种分布式计算模型,对于处理海量数据具有重要作用。 MapReduce的工作原理可以分为两个主要阶段...
Hadoop编程书籍,由浅入深,介绍Hadoop编程,特别适合初学者以及企业开发人员以及大学生以及其他深造学习者
Hadoop作为大数据处理的核心组件,包括HDFS(Hadoop Distributed File System)和MapReduce等模块,构建一个Hadoop集群通常涉及多台服务器的配置、软件安装、服务启动和集群配置。通过Ansible,我们可以简化这个过程...
《Hadoop权威指南》是大数据领域的一本经典著作,它深入浅出地介绍了Apache Hadoop这一开源分布式计算框架。Hadoop是由Doug Cutting和Mike Cafarella共同创建,最初是为了支持Google的MapReduce计算模型和Google ...
非常详细的linux上的hadoop集群搭建文档,可供参考,希望大家能够从中获益
构建跨机房的Hadoop集群 本文档将详细介绍如何构建跨机房的Hadoop集群,讨论了阿里巴巴离线数据处理现状、技术方案、跨机房集群的困难、NameNode的扩展性、跨机房网络限制、数据和计算如何跨机房分布等问题,并提供...
《Hadoop权威指南》中文版是全面了解和深入学习Hadoop技术的重要参考资料,它涵盖了Hadoop生态系统中的核心组件以及相关的分布式计算概念。这本书详细解析了Hadoop的设计原理、架构、安装配置、操作维护以及实际应用...
hadoop搭建集群笔记.虚拟机搭建hadoop集群