目录

  • 1 大数据处理架构Hadoop
    • 1.1 分布式计算与并行计算概述
    • 1.2 Hadoop概述
    • 1.3 Hadoop生态系统
    • 1.4 Hadoop的安装
  • 2 分布式文件系统HDFS
    • 2.1 分布式文件系统概念
    • 2.2 HDFS简介
    • 2.3 HDFS体系结构
    • 2.4 HDFS存储原理
    • 2.5 HDFS的数据读写过程
    • 2.6 相关shell命令
  • 3 分布式数据库HBase
    • 3.1 HBase概念与传统数据库区别
    • 3.2 HBase访问接口
    • 3.3 HBase数据模型
    • 3.4 HBase实现原理
    • 3.5 HBase运行机制
  • 4 MapReduce
    • 4.1 MapReduce概述
    • 4.2 MapReduce的工作流程
    • 4.3 Shuffle原理
    • 4.4 词频统计分析
    • 4.5 相关Shell命令
  • 5 Hadoop架构再讨论
    • 5.1 Hadoop的优化与发展
    • 5.2 HDFS2.0的新特性
    • 5.3 新一代资源管理调度框架YARN
    • 5.4 YARN的工作流程和原理
  • 6 资料扫描上传
    • 6.1 课堂笔记01
    • 6.2 课堂笔记02
    • 6.3 课堂笔记03
    • 6.4 课堂笔记04
    • 6.5 课堂笔记05
    • 6.6 课堂笔记06
    • 6.7 课堂笔记07
    • 6.8 课堂笔记08
    • 6.9 作业(1次)
    • 6.10 实验报告一
    • 6.11 实验报告二
    • 6.12 实验报告三
    • 6.13 月考
    • 6.14 预测试题
Hadoop概述

Hadoop概述

1、Hadoop简介


       在大数据时代,针对大数据处理的新技术也在不断地开发和运用中,并逐渐成为数据处理挖掘行业广泛使用的主流技术。Hadoop作为处理大数据的分布式存储和计算框架,已在国内外大、中、小型企业中得到了广泛应用。学习Hadoop技术是从事大数据行业工作必不可少的一步。


2、Hadoop发展简史


      Hadoop是由Apache的Lucence项目创始人道格·卡廷创建的,Lucence是一个应用广泛的文本搜索系统库。Hadoop起源于开源的网络搜索引擎Nutch,Nutch本身也是Lucence项目的一部分。Hadoop的发展历史如图所示。

在这里插入图片描述


3、Hadoop特性


   Hadoop是一个能够让用户轻松搭建和使用的分布式计算平台,能够让用户轻松地在Hadoop上开发和运行处理海量数据的应用程序。Hadoop的主要特点如下。

1)高可靠性。Hadoop的数据存储有多个备份,集群部署在不同机器上,可以防止一个节点宕机造成集群损坏。当数据处理请求失败时,Hadoop将自动重新部署计算任务。

2)高扩展性。Hadoop是在可用的计算机集群间分配数据并完成计算任务的。为集群添加新的节点并不复杂,因此可以很容易地对集群进行节点的扩展。

3)高效性。Hadoop可以在节点之间动态地移动数据,在数据所在节点进行并行处理,并保证各个节点的动态平衡,因此处理速度非常快。

4)高容错性。Hadoop的分布式文件系统HDFS在存储文件时将在多台机器或多个节点上存储文件的备份副本,当读取该文件出错或某一台机器宕机时,系统会调用其他节点上的备份文件,保证程序顺利运行。

5)低成本。Hadoop是开源的,即不需要支付任何费用即可下载并安装使用,节省了购买软件的成本。

6)可构建在廉价机器上。Hadoop不要求机器的配置达到极高的标准,大部分普通商用服务器即可满足要求,通过提供多个副本和容错机制提高集群的可靠性。

7)Hadoop基本框架是基于Java语言编写的。Hadoop是一个基于Java语言开发的框架,因此运行在Linux系统上是非常理想的。Hadoop上的应用程序也可以使用其他语言编写,如C++和Python。


4、Hadoop应用现状


     在大数据背景下,Apache Hadoop作为一种分布式存储和计算框架,已经被广泛应用到各行各业,业界对于Hadoop这一开源分布式技术的应用也在不断地拓展中。了解Hadoop的应用场景,从而可以更深刻地了解Hadoop在实际生活中的应用。

1)在线旅游。目前全球范围内大多数在线旅游网站都使用了Cloudera公司提供的Hadoop发行版,Expedia作为全球最大的在线旅游公司也在使用Hadoop。在国内目前比较受欢迎的一些旅游网站如携程、去哪儿网等也采用了大数据技术对数据进行存储和计算。

2)移动数据。中国移动于2010年5月正式推出大云BigCloud 1.0,集群节点达到了1024个。华为对Hadoop的HA方案及HBase领域也有深入研究,并已经向业界推出了自己的基于Hadoop的大数据解决方案。

3)电子商务。阿里巴巴的Hadoop集群拥有150个用户组、4500个集群用户,为淘宝、天猫、一淘、聚划算、CBU、支付宝提供底层的基础计算和存储服务。

4)诈骗检测。一般金融服务或政府机构会使用Hadoop存储所有的客户交易数据,包括一些非结构化的数据,以帮助机构发现客户的异常活动,预防欺诈行为。例如国内支付宝、微信钱包这类庞大的互联网支付平台,对诈骗、黑客、病毒的防护都十分重视,均使用大数据技术进行诈骗检测,以保障线上资金的安全。

5)IT安全。除企业IT基础机构的管理外,Hadoop还可以用于处理机器生成的数据以便识别出来自恶意软件或网络中的攻击。国内奇虎360安全软件在应用方面也使用Hadoop的HBase组件进行数据存储,缩短了异常恢复的时间。

6)医疗保健。医疗行业也可以使用Hadoop,如IBM Watson技术平台使用Hadoop集群作为语义分析等高级分析技术的基础。医疗机构可以利用语义分析为患者提供医护人员,并协助医生更好地为患者进行诊断。

7)搜索引擎。我们在使用搜索引擎的过程中会产生大规模的数据,此时,使用Hadoop进行海量数据挖掘可以提高数据处理的效率。国外的雅虎已将Hadoop应用到搜索引擎中,国内的百度和阿里巴巴也将Hadoop应用到搜索引擎、推荐、数据分析等多个领域。

8)社交平台。目前网络社交已经成为人们日常生活的一部分,网络社交平台每天产生的数据量十分庞大。腾讯和脸书作为国内外的大型社交平台,在数据库存储方面均利用了Hadoop生态系统中的Hive组件进行数据存储和处理。