首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >想学习大数据却搞不懂Hadoop?腾讯工程师带你三步解读Hadoop!

想学习大数据却搞不懂Hadoop?腾讯工程师带你三步解读Hadoop!

原创
作者头像
大数据风风
修改2019-01-30 17:53:10
5350
修改2019-01-30 17:53:10
举报
文章被收录于专栏:大数据技术大数据技术

一、什么是Hadoop?

Google发表了两篇论文:描述如何以分布式方式存储海量数据的Google文件系统和描述如何处理大规模分布式数据的MapReduce:大型集群上的简化数据处理。受这两篇论文的启发,DougCutting实现了这两篇基于OSS(开源软件)的论文的原则,Hadoop诞生了。

Hadoop是一个用于分布式存储和处理大型数据的开源平台。Hadoop作为一个大规模的分布式数据处理平台,已经成为许多程序员的重要技能。

想学习大数据却搞不懂Hadoop?阿里云工程师带你三步解读Hadoop!
想学习大数据却搞不懂Hadoop?阿里云工程师带你三步解读Hadoop!

二、Hadoop能做什么?

大数据时代已经到来,给我们的生活、工作和思维方式带来了变化。如何在大数据背后寻找价值既是一个机遇也是一个挑战。无论是财务数据,电子商务数据,社会数据,游戏数据…这些数据的规模、结构和增长速度给传统的数据存储和处理技术带来了巨大的挑战。幸运的是,Hadoop的诞生和它所建立的生态系统为大型数据的存储、处理和分析带来了曙光。

无论是像谷歌、雅虎这样的知名外国公司。微软、亚马逊、易趣、facebook、twitter、linkedin、cloudera、hortonworks等,或中国移动、阿里巴巴、华为、腾讯、百度、网易、京东商城等国内知名企业,均采用Hadoop及相关技术解决大规模数据问题,以满足公司需求。需求并创造商业价值。

例如:雅虎!垃圾邮件识别与过滤,用户特征建模系统;亚马逊(Amazon)协同过滤推荐系统;Facebook网络日志分析;Twitter、LinkedIn网络搜索系统;淘宝商品推荐系统,淘宝在自定义过滤功能中搜索…这些应用程序使用Hadoop和相关技术。

“Hadoop能做什么?”总结如下:

  • 1、搜索引擎:这是DougCutting的Hadoop设计的初衷,为了快速索引大型网页;
  • 2、大数据存储:利用Hadoop的分布式存储能力,如数据备份、数据仓库等。
  • 3、大数据处理:利用Hadoop的分布式处理能力,如数据挖掘、数据分析等。
  • 4、科学研究:Hadoop是一个分布式开源框架,对分布式系统有很大的参考价值。

很多小伙伴,对大数据的概念都是模糊不清的,大数据是什么,能做什么,学的时候,该按照什么线路去学习,学完往哪方面发展,想深入了解,想学习的同学欢迎加入大数据学习群:775908246,有大量干货(零基础以及进阶的经典实战)分享给大家,并且有清华大学毕业的资深大数据讲师给大家免费授课,给大家分享目前国内最完整的大数据高端实战实用学习流程体系。

想学习大数据却搞不懂Hadoop?阿里云工程师带你三步解读Hadoop!
想学习大数据却搞不懂Hadoop?阿里云工程师带你三步解读Hadoop!

三、具有Hadoop核心的分布式文件系统HDF

Hadoop分布式文件系统(HDFS)是Hadoop的核心模块之一。它主要解决了Hadoop的大数据存储问题,其思想来源是Google的文件系统gfs。HDF的主要特点是:

保存多个拷贝,并提供容错机制,拷贝丢失或停机自动恢复。默认情况下保存三份副本,在廉价机器上运行。

适用于大数据处理。HDFS默认将文件分为块,64M是块。然后块键值对存储在HDFS上,键值对的映射存储在内存中。如果有太多的小文件,内存负担将很重。

HDF中的两个重要角色:

  • 1、管理文件系统的命名空间。
  • 2、记录每个数据节点上每个文件数据的位置和复制信息。
  • 3、协调客户机对文件的访问。
  • 4、记录命名空间中的更改或空间的省属性中的更改。
  • 5、namenode使用事务日志记录HDFS元数据中的更改。使用图像文件存储文件系统名称空间,包括文件映射、文件属性等。

从社会学角度看,namenode是hdfs的管理者,起着管理、协调和操纵的作用。

  • 1、负责物理节点的存储管理。
  • 2、一次写,多次读(不做修改)。
  • 3、文件由数据库组成。通常,数据块的大小为64MB。
  • 4、数据尽可能地移动到每个节点。

从社会学的角度来看,datanode是hdfs的工作人员。它根据namenode的命令工作,并将工作进度和问题反馈给namenode。

想学习大数据却搞不懂Hadoop?阿里云工程师带你三步解读Hadoop!
想学习大数据却搞不懂Hadoop?阿里云工程师带你三步解读Hadoop!

客户机如何访问HDFS中的文件?具体流程如下:

  • 1、首先,从namenode获取组成文件的数据块的位置列表。
  • 2、接下来,我们知道根据位置列表存储数据块的数据节点。
  • 3、最后,访问datanode获取数据。
  • 注:名称节点不参与数据的实际传输。

在数据存储系统中,数据存储的可靠性是非常重要的。HDFS如何保证其可靠性?主要采用以下机制:

  • 1、冗余复制策略,即所有数据都有副本,副本数量可以在hdfs-site.xml复制因子中设置。
  • 2、机架策略,即HDFS的“机架感知”,通常在机架中存储一份拷贝,在其他机架中存储其他拷贝,这样可以防止机架故障时数据丢失,并提供带宽利用率。
  • 3、心跳机制,也就是说,namenode定期从datanode接收心跳信号和快速报告,不能按时发送心跳的datanode将被标记为停机,不会给出任何I/O请求。如果由于数据节点的故障而导致副本数量减少,并且低于预先设置的阈值,则namenode将检测这些数据块并在适当的时间复制它们。
  • 4、安全模式,名称节点启动时将进入“安全模式”阶段。
  • 5、校验和。客户端通过校验和获取数据,发现数据块是否损坏,从而判断是否读取拷贝。
  • 6、“回收站”,删除文件,将首先转到“回收站/垃圾箱”,它可以快速响应文件。
  • 7、元数据保护、镜像文件和事务日志是名称节点的核心数据,可以配置为多个副本。
  • 8、快照支持在某个时间点存储图像,它允许 数据在需要时返回到该时间点的状态。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、什么是Hadoop?
  • 二、Hadoop能做什么?
  • 三、具有Hadoop核心的分布式文件系统HDF
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档