大数据以及Hadoop介绍


大数据概述

大数据(Big Data):指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长和多样化的信息资产。
主要解决:海量数据的存储和海量数据的分析问题。

按顺序给出的数据存储单位:bit、Byte、KB、MB、GB、TB、PB、ZB、YB、BB、NB、DB
大数据应用场景

  • 物流仓储:大数据分析系统助力商家精细化运营、提升销量、节约成本。
  • 零食:分析用户消费习惯,为用户购买商品提供方便,提升销量。
  • 旅游:结合大数据能力与旅游行业需求,共建旅游产业智慧管理、智慧服务。
  • 广告推荐:给用户推荐可能喜欢的商品。
  • 保险、房产、人工智能等。

Hadoop介绍

Hadoop是什么

  1. Hadoop是一个由Apache基金会所开发的分布式系统基础架构
  2. 主要解决海量数据的存储和海量数据的分析问题
  3. 广义上说,Hadoop通常泛指一个更广泛的概念——Hadoop生态圈
    谷歌是Hadoop思想的起源,Google在大数据方便的三篇论文
  • GFS对应HDFS
  • Map_Reduce对应MR
  • BigTable对应HBase

    Hadoop三大发行版本

  • Apache:最原始、最基础的版本,对于入门学习最好。
  • Cloudera:内部集成了很多大数据框架,对应产品CDH。企业用的最多
  • Hortonworks:文档较好,对应产品HDP。

Hadoop优势

  1. 高可靠性:Hadoop底层维护了多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据丢失。
  2. 高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点。
  3. 高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务的处理速度。
  4. 高容错性:能够自动给失败的任务重新分配。

Hadoop架构

HDFS架构

HDFS(Hadoop Distributed File System):分布式文件存储系统,将大数据分开存储,落在不同大硬盘上。HDFS中的几个概念

  • NameNode(nn):存储文件的元数据,如文件名、文件目录结构、文件属性,以及每个文件的快列表和快列表所在的DataNode。相当于一个索引的存在。一个集群中,只有一个NameNode。
  • DataNode(dn):在本地文件系统存储文件快数据,以及快数据的校验和。一个集群中,有N个DataNode。
  • Secondary NameNode(2nn):每隔一段时间对NameNode元数据备份,但是不能顶替NameNode。

HDFS是一个1主N从的架构。

YARN架构

YRAN主要工作是资源调度,主要调度的对象就是CPU和内存。YRAN也是一个1主N从的架构。

ResourceManager的作用

  1. 处理客户端请求
  2. 监控NodeManager
  3. 启动或监控ApplicationMaster
  4. 资源的分配和调用

NodeManage的作用

  1. 管理单个节点上的资源
  2. 处理来自ResourceManager的命令
  3. 处理来自ApplicationMaster的命令

ApplicationMaster作用

  1. 负责数据切分
  2. 为应用程序申请资源
  3. 任务的监控与容错

Container的作用

  1. Container是YRAN的资源抽象,封装了某个节点上多维度资源,如内存、CPU、磁盘、网络等。

MapReduce架构

MapReduce是一个计算框架,将计算分为两个阶段,Map和Reduce

  1. Map阶段并行处理输入数据
  2. Reduce阶段对Map阶段的结果进行汇总

Author: Re:0
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source Re:0 !
 Previous
Hadoop集群搭建 Hadoop集群搭建
准备三台虚拟机(hadoop01, hadoop02, hadoop03),虚拟机配置要求,单台虚拟机:内存4G,硬盘50G。要求三台机器可以免密登陆三台机器的规划
2022-09-06
Next 
Spring Boot Json序列化终极配置 Spring Boot Json序列化终极配置
现在的Web应用都是通过json序列化,SpringBoot内置Jackson工具提供json -> bean 或者 bean -> json序列化的。在SpringBoot序列化中,我们可以自定义json的序列化过程,比如增加
2022-08-18
  TOC