大数据

大数据简要概念

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

大数据作用

主要解决:通过对海量数据的存储和分析计算,找出其中的价值。

数据单位

按顺序给出数据存储单位:bit、ByteKB、MB、GB、TB、PB、EB、ZB、YBBB、NB、DB。i Byte= 8bit ik=1024byte IMB=1024KlG=1024M1T=1024G1P=1024T

大数据特点

数据量大、增速快、格式多样(除了文本文件还有视频图片等等)、价值密度低(需要从大量数中分析才能得出)。

Hadoop

Hadoop简要定义

Hadoop是一个由 Apache开发的开源的分布式存储计算处理平台。
广义上来说, HADOOP通常是指一个更广泛的概念HADOOP生态。

Hadoop作用

主要解决大数据的存储和分析计算问题。
日志分析、搜索引擎、商业智能、数据挖掘等。

Hadoop版本

三大发行版本Hadoop三大发行版本: Apache、 Cloudera、 Hortonworks
Apache版本最原始(最基础)的版本,对于入门学习最好。
Cloudera在大型互联网企业中用的较多
Hortonworks文档较好。

Hadoop优点

高扩展、低成本、有成熟的生态圈

Hadoop组成

Hadoop的组成(2.x及以上版本)包括三个核心组成
HDFS:分布式文件系统,存储海量的数据
Mapreduce:并行处理框架,实现任务分解和调度
Yarn:负责资源调度

Hdfs文件存储

HDFS中有两类节点Namenode和 Datanode
注意:
格式化namenode,会产生新的集群namenode的集群id和datanode的集群id不一致,集群找不到己往数据。所以,格式 Namenode时,一定要先删除data数据和logs日志,然后再格式化 Namenode。

Namenode是管理节点, 存放文件元数据

  1. 文件与数据块的映射表
  2. 数据块与数据节点的映射表

DateNode是HDFS的工作节点,存放数据块

Hdfs体系结构:

数据读取:用户需要获取数据,先去namenode上得到这个数据分布在那个datanode等相关元数据,然后去读取。
数据分布:三副本模式,存储在两个机架的三个节点上
心跳检测:datanode定时向namenode发送心跳数据
二级namenode: namenode会定期同步数据到二级namenode,如果namenode出问题了就会将二级namenode备胎转正

读取流程

数据写入流程:

hsfs数据写入流程

HDFS的特点

1、数据冗余,硬件容错
2、流式的数据访问
3、存储大文件

适用性和局限性

适合数据批量读写,吞吐量高,
适合一次写入多次读取,顺序读写,不支持多用户并发写相同文件
不适合交互式应用,低延迟很难满足

MapReduce并行处理框架,实现任务分解和调度

简要概念

分而治之,一个大任务分成多个小的子任务(map)并行执行后,合并结果( reduce)

场景

有一千副扑克牌,但是少了一张,如何知道少了那一张呢?

  1. 先每个人分一部分,
  2. 然后各自都按照某个规则进行归类,如每个花色和数字出现的次数的进行整理,
    红桃A 19张
    黑桃B 50张等
  3. 然后交换数据,将相同花色相同数字的进行reduce合并
    红桃A 1000张
    黑桃B 999张
  4. 输出数据,可以看出少了那张

    数据处理流程

    相似的使用场景,如日志分析
    比如我们有半年的日志,想分析出每个ip的访问量也可以这么做

MapReduce体系结构

MapReduce体系结构

Jobtracker负责任务拆分,拆分为map任务和reduce任务
Jobtrackere的角色①作业调度②分配任务、监控任务执行进度③监控 Tasktracker的状态
taskTracker负责任务执行
Tasktrackere的角色①执行任务②汇报任务状态

MapReduce的执行流程

作业执行过程

Mapreduce的容错机制

1. 重复执行
2. 推测执行,发现某个任务的执行超慢,就将这个任务在另一个节点上让他也去执行,做同样的执行,防止某一两个taskTracker异常导致整个任务失败的情况

Yarn负责资源调度

模块解释

  1. Resourcemanager(rm):处理客户端请求、启动/监控 Applicationmaster、监控 Nodemanager、资源分配与调度:NodeManager
  2. Nodemanager(nm):单个节点上的资源管理、处理来自 Resourcemanager的命令、处理来自 Applicationmaster的命令
  3. ApplicationMaster:数据切分、为应用程序申请资源,Node并分配给内部任务、任务监控与容错。
  4. Container:对任务运行环境的抽象,封装了CPU、内ContainerContainer存等多维资源以及环境变量、启动命令等任务运行相关的信息

    YARN 架构及各角色职责

MRAppMaster介绍

MRAppMaster是MapReduce的ApplicationMaster实现,它使得Map
Reduce可以直接运行在YARN上,它主要作用在于管理作业的生命周期:
1.1作业的管理:作业的创建,初始化以及启动等
1.2向RM申请资源和再分配资源
1.3Container的启动与释放
1.4监控作业运行状态
1.5作业恢复

调度流程

1.用户向YARN中(RM)提交应用程序,其中包括ApplicationMaster程序、启动ApplicationMaster的命令、用户程序等。
2.ResourceManager为该应用程序分配第一个Container,ResouceManag与某个NodeManager通信,启动应用程序ApplicationMaster,NodeManager接到命令后,首先从HDFS上下载文件(缓存),然后启动ApplicationMaser。
3当ApplicationMaster启动后,它与ResouceManager通信,以请求和获取资源。ApplicationMaster获取到资源后,与对应NodeManager通信以启动任务。
注:
1.如果该应用程序第一次在给节点上启动任务,则NodeManager首先从HDFS上下载文件缓存到本地,这个是由分布式缓存实现的,然后启动该任务。
2.分布式缓存并不是将文件缓存到集群中各个结点的内存中,而是将文件换到各个结点的磁盘上,以便执行任务时候直接从本地磁盘上读取文件。
4.ApplicationMaster首先向ResourceManager注册,这样用户可以直接通过ResourceManage查看应用程序的运行状态,然后它将为各个任务申请资源,并监控它们的运行状态,直到运行结束,即重复步骤5~8
5.ApplicationMaster采用轮询的方式通过RPC协议向ResourceManager申请和领取资源
6.一旦ApplicationMaster申请到资源后,ApplicationMaster就会将启动命令交给NodeManager,要求它启动任务。启动命令里包含了一些信息使得Container可以与ApplicationMaster进行通信。
7.NodeManager为任务设置好运行环境(包括环境变量、JAR包、二进制程序等)后,将任务启动命令写到一个脚本中,并通过运行该脚本启动任务(Container)。
8.在应用程序运行过程中,用户可随时通过RPC向ApplicationMaster查询应用程序的当前运行状态
9.应用程序运行完成后,ApplicationMaster向ResourceManager注销并关闭自己。

大数据及hadoop简要概念的更多相关文章

  1. 大数据技术Hadoop入门理论系列之一----hadoop生态圈介绍

    Technorati 标记: hadoop,生态圈,ecosystem,yarn,spark,入门 1. hadoop 生态概况 Hadoop是一个由Apache基金会所开发的分布式系统基础架构. 用 ...

  2. 大数据和Hadoop生态圈

    大数据和Hadoop生态圈 一.前言: 非常感谢Hadoop专业解决方案群:313702010,兄弟们的大力支持,在此说一声辛苦了,经过两周的努力,已经有啦初步的成果,目前第1章 大数据和Hadoop ...

  3. 大数据和Hadoop时代的维度建模和Kimball数据集市

    小结: 1. Hadoop 文件系统中的存储是不可变的,换句话说,只能插入和追加记录,不能修改数据.如果你熟悉的是关系型数据仓库,这看起来可能有点奇怪.但是从内部机制看,数据库是以类似的机制工作,在一 ...

  4. 大数据与Hadoop

    figure:first-child { margin-top: -20px; } #write ol, #write ul { position: relative; } img { max-wid ...

  5. Hadoop专业解决方案-第1章 大数据和Hadoop生态圈

    一.前言: 非常感谢Hadoop专业解决方案群:313702010,兄弟们的大力支持,在此说一声辛苦了,经过两周的努力,已经有啦初步的成果,目前第1章 大数据和Hadoop生态圈小组已经翻译完成,在此 ...

  6. 大数据和Hadoop平台介绍

    大数据和Hadoop平台介绍 定义 大数据是指其大小和复杂性无法通过现有常用的工具软件,以合理的成本,在可接受的时限内对其进行捕获.管理和处理的数据集.这些困难包括数据的收入.存储.搜索.共享.分析和 ...

  7. [Hadoop 周边] 浅谈大数据(hadoop)和移动开发(Android、IOS)开发前景【转】

    原文链接:http://www.d1net.com/bigdata/news/345893.html 先简单的做个自我介绍,我是云6期的,黑马相比其它培训机构的好偶就不在这里说,想比大家都比我清楚: ...

  8. 大数据测试之hadoop集群配置和测试

    大数据测试之hadoop集群配置和测试   一.准备(所有节点都需要做):系统:Ubuntu12.04java版本:JDK1.7SSH(ubuntu自带)三台在同一ip段的机器,设置为静态IP机器分配 ...

  9. 老李分享:大数据框架Hadoop和Spark的异同 1

    老李分享:大数据框架Hadoop和Spark的异同   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨 ...

随机推荐

  1. Python习题集(四)

    每天一习题,提升Python不是问题!!有更简洁的写法请评论告知我! https://www.cnblogs.com/poloyy/category/1676599.html 题目 如果一个 3 位数 ...

  2. 【开源】使用Angular9和TypeScript开发RPG游戏

    RPG系统构造 通过对于斗罗大陆小说的游戏化过程,熟悉Angular的结构以及使用TypeScript的面向对象开发方法. 项目地址 人物 和其他RPG游戏类似,游戏里面的人物角色大致有这样的一些属性 ...

  3. Hive 时间操作

    Hive 时间转换 UNIX时间戳概念:因为UNIX时间戳只是一个秒数,一个UNIX时间戳在不同时区看来,时间是不同的.如UNIX时间戳0,在0时区看来是1970-01-01 00:00:00,在东八 ...

  4. Unity 游戏框架搭建 2019 (九~十二) 第一章小结&第二章简介&第八个示例

    第一章小结 为了强化教程的重点,会在合适的时候进行总结与快速复习. 第二章 简介 在第一章我们做了知识库的准备,从而让我们更高效地收集示例. 在第二章,我们就用准备好的导出工具试着收集几个示例,这些示 ...

  5. PyCharm导入selenium的webdirver模块出错

    selenium安装好后准备验证一下,导入的webdriver有红色标识,检查了浏览器驱动的.环境变量仍然没有解决问题. 后来在百度找到了原因:项目没安装selenium Interpreter 打开 ...

  6. jupyter之配置自己喜欢的python环境

    之前安装anaconda,会自动安装jupyer笔记本,但是本人从来没有用过,近期查看github上的一些教程时,发现很多文件都是.ipynb为后缀的jupyter文件,于是自己准备琢磨一下把环境换成 ...

  7. 浏览器与DNS解析过程

    浏览器解析 1.地址栏输入地址后,浏览器检查自身DNS缓存 地址栏输入chrome://net-internals/#dns 查看. 2.浏览器缓存中未找到,那么Chrome会搜索操作系统自身的DNS ...

  8. 如何让Docker镜像飞起来

    前言 Docker用起来非常爽,尤其是用于DevOps实践时.但是,当你在国内或者本地拉取镜像时,经常会碰到各种“便秘”——要么镜像拉取缓慢,要么时断时连,要么连接超时! 当我们的镜像又比较大时(比如 ...

  9. 02 Python函数与模块

     • 函数是什么 print() input() format() list() lower() upper()  • 函数的定义 def 函数名(形参1,2,3)  函数体 return  • 函数 ...

  10. OpenCV-Python 直方图-1:查找、绘制和分析 | 二十六

    目标 学会 使用OpenCV和Numpy函数查找直方图 使用OpenCV和Matplotlib函数绘制直方图 你将看到以下函数:cv.calcHist(),np.histogram()等. 理论 那么 ...