学习笔记 | 大数据 | Hadoop分布式系统基础架构 简介

01 为什么学习Hadoop -> 原因?

  • 数据存量和增量极大,极大数据需要存储和分析
  • Hadoop可以存储并处理大量数据
  • Hadoop编程简单易学

02 Hadoop生态系统

  • 更好的学习其他大数据技术HBase、Hive、Spark
  • Hadoop 可以理解为是一个计算机集群的操作系统,而 Spark、MapReduce 只是这个操作系统支持的编程语言而已,HDFS 是基于所有计算机文件系统之上的文件系统抽象。同理,YARN 是基于所有计算机资源管理与调度系统之上的资源管理与调度系统抽象,Hadoop 是基于所有计算机的操作系统之上的操作系统抽象。所以如果你一定要进行比较的话,Hadoop 应该和操作系统相比较。
    学习笔记 | 大数据 | Hadoop分布式系统基础架构 简介_第1张图片
数据访问

学习笔记 | 大数据 | Hadoop分布式系统基础架构 简介_第2张图片

  • HBase是非结构化的数据库,以键值对的形式进行存储。可以在线实时查询。

学习笔记 | 大数据 | Hadoop分布式系统基础架构 简介_第3张图片

数据传输



序列化

Avro是一个数据序列化的系统。
它可以提供:

  • 丰富的数据结构类型
  • 快速可压缩的二进制数据形式
  • 存储持久数据的文件容器
  • 远程过程调用的RPC

机器学习包

Mahout是Apache Software Foundation ASF旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout包含许多实现,包括聚类、分类、推荐过滤、频繁子项挖掘。此外,通过使用Apache Hadoop库,Mahout可以有效地扩展到云中。

03 学什么(以任务为导向)

  • Hadoop架构、原理 + 完全分布式Hadoop集群搭建(搭建方法) + 常用HDFS操作 + MapReduce Shell + API操作 + MapReduce编程技术 + 把常用数据挖掘算法进行MapReduce化 + Hadoop大数据案例

04 Hadoop背景

  • 理解Hadoop的概念 + 了解Hadoop的由来和特点

  • 理解HDFS、MapReduce、YARN原理

  • 了解Hadoop生态系统 + 了解Hadoop应用场景
    学习笔记 | 大数据 | Hadoop分布式系统基础架构 简介_第4张图片

  • Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。它的目的是从单一的服务器扩展到成千上万的机器,将集群部署在多台机器。每个机器提供本地计算和存储。Hadoop框架最核心的设计是HDFS和MapReduce。

05 Hadoop特点

  • Hadoop是一个能够对大量数据进行分布式处理的软件框架。
  • Hadoop是高可靠和高容错的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。
  • Hadoop是高效的,因为它以并行的方式工作,通过并行处理加快处理速度。
  • Hadoop还是可伸缩的,Hadoop是在可用的计算机集蔟间分配数据并完成计算任务的,所以集群可以很容易进行节点的扩展,扩大集群。能够处理PB级数据。
  • 此外,Hadoop依赖于社区服务,因此它的成本比较低,任何人都可以使用。

06 Hadoop简介 —— 核心:Common + HDFS + MapReduce

  • RPC是文件传输的协议。
  • Hadoop Common是一个公共基础设施,用于支撑其他项目,包括RPC、序列化包等。
  • Hadoop HDFS可扩展、容错、高性能的分布式文件系统,异步复制,一次写入,多次读取。
  • Hadoop MapReduce分布式计算框架,主要包含map映射和reduce规约过程。

  • 可扩展:增加结点、扩展资源。
  • 容错:备份副本、多个结点存放数据(高性能)。
  • 一次写入:写完之后不能修改但可添加,防止数据不一致的问题。

分布式文件系统HDFS 、Hadoop Distributed File System

高度容错性的系统

  • 上传的数据自动保存多个副本,适合部署在廉价的机器上。

适合大数据的处理

  • 高吞吐量的数据访问,非常适合大规模数据集上的应用。

流式文件写入

  • 一次写入,多次读取。文件一旦写入,不能修改,只能增加。这样可以保证数据的一致性。

  • 不能修改文件里面的数据。

学习笔记 | 大数据 | Hadoop分布式系统基础架构 简介_第5张图片

  • 按照128M拆分成块。
    学习笔记 | 大数据 | Hadoop分布式系统基础架构 简介_第6张图片
  • fsimage:快照。
    学习笔记 | 大数据 | Hadoop分布式系统基础架构 简介_第7张图片
MapReduce 分布式计算框架 并行计算框架
  • MapReduce是Google提出的一个软件架构,用于大规模数据集(大于1TB)的并行运算。概念Map映射和Reduce归纳,及他们的主要思想,都是从函数式编程语言借来的,还有从矢量编程语言借来的特性。

  • 当前的软件实现是指定一个Map映射函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce归纳函数,用来保证所有映射的键值对中的每一个共享相同的键组。

       a. 并发:拥有处理多任务的能力,不一定同时进行(没有否定同时执行)
       b. 并行:拥有同时处理多任务的能力,不是间隔执行
    

学习笔记 | 大数据 | Hadoop分布式系统基础架构 简介_第8张图片
学习笔记 | 大数据 | Hadoop分布式系统基础架构 简介_第9张图片
学习笔记 | 大数据 | Hadoop分布式系统基础架构 简介_第10张图片

集群资源管理器 YARN

YARN是Hadoop 2.0中的资源管理系统,将MRv1的JobTracker拆分成了两个独立的服务:一个全局的资源管理器ResourceManager和每个应用程序特有的ApplicationMaster。主要负责所提交任务的资源分配和任务调度
学习笔记 | 大数据 | Hadoop分布式系统基础架构 简介_第11张图片

07 Hadoop应用场景

学习笔记 | 大数据 | Hadoop分布式系统基础架构 简介_第12张图片
学习笔记 | 大数据 | Hadoop分布式系统基础架构 简介_第13张图片
学习笔记 | 大数据 | Hadoop分布式系统基础架构 简介_第14张图片

你可能感兴趣的:(#,大数据技术,hadoop,大数据)