大数据技术 Hadoop0基础学习
沉沙 2018-10-12 来源 : 阅读 1389 评论 0

摘要:本篇教程探讨了大数据技术 Hadoop0基础学习,希望阅读本篇文章以后大家有所收获,帮助大家对大数据技术的理解更加深入。

本篇教程探讨了大数据技术 Hadoop0基础学习,希望阅读本篇文章以后大家有所收获,帮助大家对大数据技术的理解更加深入。

<


一.Hadoop社区版和发行版

社区版:我们把Apache社区一直开发的Hadoop称为社区版。简单的说就是Apache Hadoop//hadoop.apache.org/
发行版:基于Apache Hadoop的基础上进行商业改造的解决方案,包含一系列定制的管理工具和软件。

二.Hadoop社区版版本号
     一直以来,Hadoop的版本号一直困扰着广大Hadoop爱好者,各版本层出不穷。如果你想使用Apache Hadoop,你必须知道自己要使用哪个版本的Hadoop,搞清楚Hadoop版本号就尤为重要了。

 
三.Hadoop发行版

 Cloudera

2009年开始Hadoop,Lutch,Lucene,Solr创始人Doug Cutting任职于Cloudera公司。
Cloudera的主要产品是Cloudera Manager(CDH)。
CDH3基于Apache Hadoop 0.20.2(简单理解为Apche Hadoop 1);CDH4基于Apache Hadoop 0.20.3(简单理解为Apche Hadoop 2),但是它采用新的MapReduce2.0,即Yarm。

Hortonworks

Hortonworks 2011年成立,由Yahoo于硅谷风投公司Benchmark Capital组成。公司成立的时候吸纳了许多原来在Yahoo工作的Hadoop工程师,Apache Hadoop社区70%的代码是雅虎工程师贡献的。2006年开始Doug Cutting任职于Yahoo公司。
Hortonworks的主要产品是Hortonworks Data Platform(HDP)。
HDP主要基于Apache Hadoop 1。

MapR

用自己的新架构重写Hadoop,提供和Apache Hadoop相同的API。
NameNode默认存储三份,不存在NameNode单点故障Single Point Of Failure(SPOF)。

IBM
华为

网络,PC,虚拟化方面的硬件实力。

Intel

Intel的发行版最先进入中国市场。
提供全面的硬件解决方案,针对硬件的性能优化。


 


 
一.Hadoop来历

 2004年12月。Google发表了MapReduce论文,MapReduce允许跨服务器集群,运行超大规模并行计算。Doug Cutting意识到可以用MapReduce来解决Lucene的扩展问题。
Google发表了GFS论文。
Doug Cutting根据GFS和MapReduce的思想创建了开源Hadoop框架。
2006年1月,Doug Cutting加入Yahoo,领导Hadoop的开发。
Doug Cutting任职于Cloudera公司。
2009年7月,Doug Cutting当选为Apache软件基金会董事,2010年9月,当选为chairman。
各大企业开发自己的发行版,并为Apache Hadoop贡献代码。

二.Google-->Apache


 Chubby-->ZooKeeper
GFS-->HDFS
BigTable-->HBase
MapReduce-->MapReduce


三.Google论文

 GFS//static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/de//archive/gfs-sosp2003.pdf
BigTable //static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/zh-CN//archive/bigtable-osdi06.pdf
MapReduce //static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/zh-CN//archive/mapreduce-osdi04.pdf



 


一.NameNode物理文件夹

 
 
二.DataNode物理文件夹

 


 

一.NameNode概述

 NameNode存放了所有文件和文件夹的元数据信息

内存中:在系统启动时,会把fsimage和editlog记录的元数据信息加装到内存中;在系统启动时,NameNode收集DataNode心跳,在内存中形成file->blocks的对应关系。
硬盘上:操作日志以fsimage和editlog的形式持久化在硬盘上。

NameNode分类

NameNode,Secondary NameNode。
NameNode,Checkpoint Node,Backup NameNode。


二.fsimage editLog

editLog:客户端对文件系统每次读写等操作时,元数据节点首先修改内存中的数据结构,然后记录到editlog中。
fsimage:二进制文件;当editlog达到一定量(fs.checkpoint.size)或者距离上次归并到fsimage达到一定时间(fs.checkpoint.period)时, editlog会被归并到fsimage中。此过程被称为checkpoint。另外一个checkpoint的时间是NameNode启动时。

三.NameNode + Secondary NameNode

Secondary NameNode通知NameNode准备chekpoint。
NameNode产生edits.new,用来接受checkpoint过程中的editlog。
Secondary NameNode通过http get方式获取NameNode的fsimage与editlog。
Secondary NameNode开始合并获取的上述两个文件,产生一个新的fsimage文件fsimage.ckpt。
Secondary NameNode用http post方式发送fsimage.ckpt至NameNode。
NameNode将fsimage.ckpt与edits.new文件分别重命名为fsimage与edits,然后更新fstime,整个checkpoint过程到此结束。

四.NameNode + Checkpiont NameNode + Backup NameNode

 在Hadoop 0.21.0中,Secondary NameNode被Checkpoint NameNode和Backup NameNode取代。
Checkpoint NameNode功能同Secondary NameNode,主要作用是合并元数据。
Backup NameNode:NameNode实时主动把editlog和fsimage传送给Backup NameNode,主要作用是备份。但其还不能作热备,比喻Backup NameNode的内存中未保存Block的位置信息,仍需要等DataNode上报。 



 
 
一.数据块

HDFS默认数据块大小64M。{现在的版本已经是128M,下面不在修改了}
文件大于64M,将被分为若干份64M+其它M存储;文件小于64M,并不会占用整个64M大小,对于小文件,HDFS提供了几种解决方案:Hadoop Archive,Sequence file和CombineFileInputFormat,后面看源码时详解。

 
二.DataNode

 数据节点是真正存储数据的地方。
周期性向NameNode汇报心跳,并带回NameNode要下达的指令。NameNode并不主动向DataNode发送请求。
DataNode可以作为服务器,接受客户端的读写请求。
DataNode之间会互相通信,复制数据块。

 
 
   

本文由职坐标整理发布,学习更多的大数据技术相关知识,请关注职坐标大技术云计算大技术技术频道!

本文由 @沉沙 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程