专栏首页大数据技术想学习大数据却搞不懂Hadoop?腾讯工程师带你三步解读Hadoop!
原创

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

一、什么是Hadoop?

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

客户机如何访问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、快照支持在某个时间点存储图像,它允许 数据在需要时返回到该时间点的状态。

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 大数据学习、工作过程中最容易掉入的十大天坑!你中招了吗?

    “数据科学家=统计学家+程序员+讲故事的人+艺术家。“ – Shlomo Aragmo。博主总结了一些在大数据学习工作过程中容易出现的一些问题,希望能给各位带来...

    大数据风风
  • 大数据技术:让看病更加靠谱!

    在早期,大部分医疗相关数据以纸质形式存在,而非电子数据存储,如正式医疗记录、费用记录、护士和医生书写的病例记录、处方药记录、X光记录、磁共振成像(MRI)记录、...

    大数据风风
  • 数据让生活更幸福!三分钟带你了解智慧城市,交通大数据应用!

    随着城市交通人脑的出现,大数据在交通管理和交通运输领域得到了广泛的应用。大数据已逐渐成为城市交通管理的基础资源,在交通管理中日益显示出其关键作用和地位。许多公司...

    大数据风风
  • 大数据技术栈详解

    相信很多学Java的同学都有想转大数据或者学大数据的想法,但是一看到网上那些大数据的技术栈,就一脸懵逼,什么Hadoop、HDFS、MapReduce、Hive...

    林老师带你学编程
  • 大数据要学哪些技术大数据工程师必备技能有哪些?

    HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。

    用户2292346
  • 【活动】广州大数据技术与应用研讨会:数据化运营如何驱动智慧型企业

    【活动背景】 如今的大数据时代,很多企业已经开始以数据化运营来驱动企业重大战略决策和业务发展,获得了卓越的成绩,成为行业里数据化运营的领先者。虽...

    小莹莹
  • 大数据人才都去哪儿了?

    大数据时代已经来了,许多企业希望将大数据用起来,带动企业的经营,但不知从哪里着手。它们找不到大数据与业务结合的突破口。而一些真正将大数据应用于实战的企业,却在应...

    CDA数据分析师
  • 从Hadoop到Spark,大数据技术发展概况

    大数据从概念走向落地,得益于大数据技术的成熟,尤其是以Hadoop为代表的第一代大数据系统框架,为大数据在企业当中的现实落地,提供了稳固的技术支持,而随着大数据...

    成都加米谷大数据
  • 五张图区分商业分析师与数据科学家

    大数据文摘
  • 做大数据工程师需要掌握哪些技能呢?

    大数据是眼下非常时髦的技术名词,与此同时自然也催生出了一些与大数据处理相关的职业,通过对数据的挖掘分析来影响企业的商业决策。

    一起学习大数据

扫码关注云+社区

领取腾讯云代金券