大数据

大数据简要概念

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

大数据作用

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

数据单位

按顺序给出数据存储单位: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. DOTNET CORE源码分析之ServiceDescriptor

    ServiceDescriptor在.net core中的作用就是DI中注入服务元素的描述.每一个元素核心内容部分包括需要注入的服务元素的类型ServiceType,它对应的接口(如果有的话)Impl ...

  2. Webpack中SplitChunksPlugin 配置参数详解

    代码分割本身和 webpack 没有什么关系,但是由于使用 webpack 可以非常轻松地实现代码分割,所以提到代码分割首先就会想到使用 webopack 实现. 在 webpack 中是使用 Spl ...

  3. JAVA系列-JVM

    1)JVM体系概述 JVM体系结构概览 JVM参数调优及相关参数 JVM的参数类型 标配参数:java-version;  java -help X参数:-Xint 解释执行: -Xcomp 第一次使 ...

  4. .NET的资源并不限于.resx文件(二)

    ResourceManager在默认的情况下只能提供对内嵌于程序集的.resources资源文件的存取. 为了实现对独立二进制.resources资源文件的支持,我们自定义了BinaryResoruc ...

  5. 记一次Xmrig挖矿木马排查过程

    问题现象 Linux 服务器收到报警信息,主机 CPU 跑满. 自动创建运行 Docker 容器 xmrig, 导致其他运行中容器被迫停止. 问题原因 通过 top 命令可以看到有一个 xmrig 进 ...

  6. The import org.springframework cannot be resolved

    刚开始学spring框架时import org.springframework.context.support.ClassPathXmlApplicationContext;报错 我建的是maven项 ...

  7. Linux基础篇学习——文件目录常用管理命令mkdir,cat,more,less,ln,file,cp,find,split,mv

    mkdir 创建目录 -p 递归创建目录 -v 显示创建信息 [root@zycentos7 ~]# mkdir -p {mylinux/{bin,conf,lib,logs,webapps/{doc ...

  8. MySQL datetime类型详解

    研发反馈问题,数据库中datetime数据类型存储的值末尾会因四舍五入出现不一致数据,影响查询结果,比如:程序中自动获取带毫秒精度的日期'2019-03-05 01:53:55.63',存入数据库后变 ...

  9. 多GPU使用详解

    目录: 介绍 记录设备状态 手动分配状态 允许GPU内存增长 在多GPU系统是使用单个GPU 使用多个 GPU 一.介绍 在一个典型的系统中,有多个计算设备.在 TensorFlow 中支持的设备类型 ...

  10. PyCharm3.0 快捷键

    1.编辑(Editing) Ctrl + Space    基本的代码完成(类.方法.属性)Ctrl + Alt + Space  快速导入任意类Ctrl + Shift + Enter    语句完 ...