




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.hadoop 原理浅析及安装经过几天的测试,hadoop分布式系统搭建完毕。首先说一下这几天对hadoop 理论知识的理解,然后说一下安装及碰到的问题。有图有真相第一:理论知识:什么是hadoop :由三部分组成:HDFS, MapReduce 和 Hbase 。维基百科这样说:一个分布式系统基础架构,由Apache 基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。这里面关键就是高速运算和海量存储。我们首先讲海量存储,这个比较有意思,一会儿再说高速运算。海量存储:HDFS前身来自 google 的一篇博文,所以自身带有浓厚的互联网色彩,比
2、如读多于写的特性,高度的扩展性。 具体说一下他的特性:.图 1:HDFS 结构示意图抄自 岑文初 上图中展现了整个HDFS 三个重要角色:NameNode 、 DataNode和 Client 。 NameNode可以看作是分布式文件系统中的管理者,主要负责管理文件系统的命名空间、集群配置信息和存储块的复制等。 NameNode会将文件系统的Meta-data存储在内存中,这些信息主要包括了文件信息、每一个文件对应的文件块的信息和每一个文件块在DataNode的信息等。 DataNode是文件存储的基本单元,它将Block 存储在本地文件系统中,保存了Block 的 Meta-data,同时周
3、期性地将所有存在的Block 信息发送给NameNode 。Client 就是需要获取分布式文件系统文件的应用程序。这里通过三个操作来说明他们之间的交互关系。文件写入:oClient 向 NameNode发起文件写入的请求。oNameNode根据文件大小和文件块配置情况,返回给Client 它所管理部分DataNode的信息。oClient 将文件划分为多个Block ,根据 DataNode的地址信息,按顺序写入到每一个 DataNode块中。文件读取:oClient 向 NameNode 发起文件读取的请求。oNameNode返回文件存储的DataNode 的信息。oClient 读取文件
4、信息。文件 Block 复制:oNameNode发现部分文件的Block 不符合最小复制数或者部分DataNode 失效。o通知 DataNode 相互复制 Block 。oDataNode开始直接相互复制。HDFS 的几个设计特点:oBlock 的放置:默认不配置。一个Block 会有三份备份,一份放在NameNode指定的 DataNode ,另一份放在与指定DataNode非同一 Rack 上的 DataNode ,最后一份放在与指定DataNode同一 Rack 上的 DataNode上。备份无非就是为了数据安全,考虑同一Rack 的失败情况以及不同Rack 之间数据拷贝性能问题就采用
5、这种配置方式。o心跳检测DataNode的健康状况,如果发现问题就采取数据备份的方式来保证数据的安全性。o数据复制 (场景为DataNode失败、需要平衡DataNode的存储利用率和需要平衡 DataNode数据交互压力等情况):这里先说一下,使用HDFS 的 balancer 命令,可以配.置一个 Threshold 来平衡每一个DataNode磁盘利用率。 例如设置了Threshold为 10%,那么执行 balancer 命令的时候,首先统计所有DataNode的磁盘利用率的均值,然后判断如果某一个 DataNode的磁盘利用率超过这个均值Threshold以上,那么将会把这个Data
6、Node的block 转移到磁盘利用率低的DataNode ,这对于新节点的加入来说十分有用。o数据交验:采用CRC32 作数据交验。在文件Block 写入的时候除了写入数据还会写入交验信息,在读取的时候需要交验后再读入。oNameNode是单点:如果失败的话,任务处理信息将会纪录在本地文件系统和远端的文件系统中。o数据管道性的写入:当客户端要写入文件到DataNode上,首先客户端读取一个 Block 然后写到第一个DataNode上,然后由第一个DataNode传递到备份的DataNode上,一直到所有需要写入这个Block 的 NataNode都成功写入,客户端才会继续开始写下一个Blo
7、ck 。o安全模式:在分布式文件系统启动的时候,开始的时候会有安全模式,当分布式文件系统处于安全模式的情况下,文件系统中的内容不允许修改也不允许删除,直到安全模式结束。安全模式主要是为了系统启动的时候检查各个DataNode上数据块的有效性,同时根据策略必要的复制或者删除部分数据块。运行期通过命令也可以进入安全模式。在实践过程中,系统启动的时候去修改和删除文件也会有安全模式不允许修改的出错提示,只需要等待一会儿即可。下面说高速计算:.上面的图片是计算这个文件中每个单词出现的次数,这个任务被分裂成三个子任务,然后映射到集群中 JobTracker 指定的TaskTracker 上运行子任务,每个
8、子任务都可以在指定的TaskTracker上运行,然后把运行的结果保存在当地,然后reduce 程序被调用。然后进行的是结果的整合,整合完毕,就是最终结果了。这是计算向数据靠拢的计算方式。好了,我们开始说安装,好多都在讲 0.17 和 0.18 的安装, hadoop 这玩意儿因为最近很火,所以变动很厉害, 变动的速度估计和 nginx 有一拼,所以在安装的时候得批判的继承他们安装过程。环境:.首先:在这几台机器上安装CentOS5.4 (最简化安装)并升级完毕。保证计算机名的全局唯一性:-192.168.0.20修改方式:(5 台服务器都设置)roothadoop5 # hostname r
9、oothadoop5 # cat /etc/hostsDo not remove the following line, or various programsthat require network functionality will fail.localhost.localdomain localhost:1localhost6.localdomain6 hadoop5roothadoop5 # cat /etc/sysconfig/networkNETWORKING=yesNETWORKING_IPV6=noHOSTNAME=roothadoop5 #为了方便,关闭防火墙:(5 台服务
10、器都设置)roothadoop5 # service iptables stoproothadoop5 # chkconfig iptables off方便起见,创建hadoop用户roothadoop5 # useradd hadoop下载 hadoop最新版: .下载 JDK 最新版:cds-esd.sun./ESD6/JSCDL/jdk/6u19-b04/jdk-6u19-linux-i586-rpm.bin?AuthParam=1270716768_db3a41353e2febaf6e98b124c7e4a54d&TicketId=B%2Fw6lhWJS1NMThBDO15fkQPk&
11、GroupNa me=CDS&FilePath=/ESD6/JSCDL/jdk/6u19-b04/jdk-6u19-linux-i586-rpm.bin&File=jdk-6u19-li nux-i586-rpm.bin全部放入 /home/hadoop目录。roothadoop5 # cp jdk-6u19-linux-i586.bin /usr/local/roothadoop5 # cd /usr/local/roothadoop5 # ./jdk-6u19-linux-i586.binroothadoop5 # rm -rf jdk-6u19-linux-i586.binroothad
12、oop5 # cd/home/hadoop/roothadoop5 # cat /etc/profile #放入如下信息export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/libexport PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/bin:$PATHexport PATH=$PATH:$HADOOP_HOME/bin然后执行如下命令:roothadoop5 # source /etc/profile现在我们修改hadoop的配置文件:0.20 以上的配置和以前的配置有些是不同的,我们以为例做东西roo
13、thadoop5 conf# cat core-site.xml./home/hadoop/tmp/=hadoop-env.sh=roothadoop5 conf# cat hdfs-site.xmldfs.replication3=roothadoop5 conf# cat mapred-site.xml.roothadoop5 conf#=roothadoop5 conf# cat mastersroothadoop5 conf# cat slavesroothadoop5 conf#=现在我们做无密码的ssh 登录:建立 Master 到每一台Slave 的 SSH 受信证书。由于Mas
14、ter 将会通过SSH 启动所有Slave 的Hadoop ,所以需要建立单向或者双向证书保证命令执行时不需要再输入密码。在 Master 和所有的 Slave 机器上执行:ssh-keygen -t rsa 。执行此命令的时候,看到提示只需要回车。然后就会在 /root/.ssh/ 下面产生 id_rsa.pub 的证书文件,通过scp 将 Master 机器上的这个文件拷贝到 Slave 上(记得修改名称),例如:scp rootmasterIP:/root/.ssh/id_rsa.pub/root/.ssh/46_rsa.pub ,然后执行cat/root/.ssh/46_rsa.pub
15、 /root/.ssh/authorized_keys,建立authorized_keys 文件即.可,可以打开这个文件看看,也就是 rsa 的公钥作为key ,userIP 作为 value 。此时可以试验一下,从 master ssh 到 slave 已经不需要密码了。由slave 反向建立也是同样。为什么要反向呢?其实如果一直都是Master 启动和关闭的话那么没有必要建立反向,只是如果想在Slave 也可以关闭Hadoop就需要建立反向。然后每台服务器上都修改ssh 的配置文件:/etc/ssh/sshd_config把GSSAPIAuthentication 的值设置为 no,然后:roothadoop5 conf# service sshd restartroothadoop5 conf#我们从 master 向 slave 依次登录roothadoop5 conf#sshroothadoop5 conf#sshroothadoop5 conf#sshroothadoop5 conf#ssh然后压缩hadoop文件夹成为一个压缩包然后在每台slave 上执行如下命令roothadoop
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山西省朔州市2025年高三最后一卷英语试卷含答案
- 内蒙古百校联盟2025届高考英语押题试卷含答案
- 江苏省常州市礼嘉中学2025年高三3月份模拟考试英语试题含解析
- 安徽省滁州市海亮外国语学校2025届高考冲刺押题(最后一卷)英语试卷含解析
- 湖南省常德市2025年高三第二次模拟考试英语试卷含解析
- 2025届广西玉林市博白县高三3月份模拟考试英语试题含解析
- 苏州大学2025届高考冲刺模拟英语试题含解析
- 2025届云南省江川区第二中学高三二诊模拟考试英语试卷含答案
- 2025届内蒙古乌兰察布市集宁区集宁一中高三下学期第六次检测英语试卷含答案
- 2025届云南省文山市重点中学高考仿真模拟英语试卷含答案
- 肝硬化常见并发症的护理
- 所得税会计试题及答案
- 2025年保安员职业技能考试笔试试题(700题)附答案
- 《知不足而后进 望山远而力行》期中家长会课件
- 专题09 乡村和城镇-五年(2019-2023)高考地理真题分项汇编(解析版)
- 2025年第三届天扬杯建筑业财税知识竞赛题库附答案(201-300题)
- T-NKFA 015-2024 中小学午休课桌椅
- 课题开题报告:推进家校社协同育人研究
- 2025春新七年级道德与法治下册全册知识点
- Unit 9 Active learning 教学设计-2023-2024学年高中英语北师大版(2019)必修第三册
- 渔场基地建设实施方案
评论
0/150
提交评论