大数据及hadoop简要概念
大数据
大数据简要概念
指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合。
需要新处理模式,才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
大数据作用
主要解决:通过对海量数据的存储和分析计算,找出其中的价值。
数据单位
按顺序给出数据存储单位: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是管理节点, 存放文件元数据
- 文件与数据块的映射表
- 数据块与数据节点的映射表
DateNode是HDFS的工作节点,存放数据块
Hdfs体系结构:
数据读取:用户需要获取数据,先去namenode上得到这个数据分布在那个datanode等相关元数据,然后去读取。
数据分布:三副本模式,存储在两个机架的三个节点上
心跳检测:datanode定时向namenode发送心跳数据
二级namenode: namenode会定期同步数据到二级namenode,如果namenode出问题了就会将二级namenode备胎转正
数据写入流程:
HDFS的特点
1、数据冗余,硬件容错
2、流式的数据访问
3、存储大文件
适用性和局限性
适合数据批量读写,吞吐量高,
适合一次写入多次读取,顺序读写,不支持多用户并发写相同文件
不适合交互式应用,低延迟很难满足
MapReduce并行处理框架,实现任务分解和调度
简要概念
分而治之,一个大任务分成多个小的子任务(map)并行执行后,合并结果( reduce)
场景
有一千副扑克牌,但是少了一张,如何知道少了那一张呢?
- 先每个人分一部分,
- 然后各自都按照某个规则进行归类,如每个花色和数字出现的次数的进行整理,
红桃A 19张
黑桃B 50张等 - 然后交换数据,将相同花色相同数字的进行reduce合并
红桃A 1000张
黑桃B 999张 输出数据,可以看出少了那张
数据处理流程相似的使用场景,如日志分析
比如我们有半年的日志,想分析出每个ip的访问量也可以这么做
MapReduce体系结构
Jobtracker负责任务拆分,拆分为map任务和reduce任务
Jobtrackere的角色①作业调度②分配任务、监控任务执行进度③监控 Tasktracker的状态
taskTracker负责任务执行
Tasktrackere的角色①执行任务②汇报任务状态
MapReduce的执行流程
Mapreduce的容错机制
1. 重复执行
2. 推测执行,发现某个任务的执行超慢,就将这个任务在另一个节点上让他也去执行,做同样的执行,防止某一两个taskTracker异常导致整个任务失败的情况
Yarn负责资源调度
模块解释
- Resourcemanager(rm):处理客户端请求、启动/监控 Applicationmaster、监控 Nodemanager、资源分配与调度:NodeManager
- Nodemanager(nm):单个节点上的资源管理、处理来自 Resourcemanager的命令、处理来自 Applicationmaster的命令
- ApplicationMaster:数据切分、为应用程序申请资源,Node并分配给内部任务、任务监控与容错。
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简要概念的更多相关文章
- 大数据技术Hadoop入门理论系列之一----hadoop生态圈介绍
Technorati 标记: hadoop,生态圈,ecosystem,yarn,spark,入门 1. hadoop 生态概况 Hadoop是一个由Apache基金会所开发的分布式系统基础架构. 用 ...
- 大数据和Hadoop生态圈
大数据和Hadoop生态圈 一.前言: 非常感谢Hadoop专业解决方案群:313702010,兄弟们的大力支持,在此说一声辛苦了,经过两周的努力,已经有啦初步的成果,目前第1章 大数据和Hadoop ...
- 大数据和Hadoop时代的维度建模和Kimball数据集市
小结: 1. Hadoop 文件系统中的存储是不可变的,换句话说,只能插入和追加记录,不能修改数据.如果你熟悉的是关系型数据仓库,这看起来可能有点奇怪.但是从内部机制看,数据库是以类似的机制工作,在一 ...
- 大数据与Hadoop
figure:first-child { margin-top: -20px; } #write ol, #write ul { position: relative; } img { max-wid ...
- Hadoop专业解决方案-第1章 大数据和Hadoop生态圈
一.前言: 非常感谢Hadoop专业解决方案群:313702010,兄弟们的大力支持,在此说一声辛苦了,经过两周的努力,已经有啦初步的成果,目前第1章 大数据和Hadoop生态圈小组已经翻译完成,在此 ...
- 大数据和Hadoop平台介绍
大数据和Hadoop平台介绍 定义 大数据是指其大小和复杂性无法通过现有常用的工具软件,以合理的成本,在可接受的时限内对其进行捕获.管理和处理的数据集.这些困难包括数据的收入.存储.搜索.共享.分析和 ...
- [Hadoop 周边] 浅谈大数据(hadoop)和移动开发(Android、IOS)开发前景【转】
原文链接:http://www.d1net.com/bigdata/news/345893.html 先简单的做个自我介绍,我是云6期的,黑马相比其它培训机构的好偶就不在这里说,想比大家都比我清楚: ...
- 大数据测试之hadoop集群配置和测试
大数据测试之hadoop集群配置和测试 一.准备(所有节点都需要做):系统:Ubuntu12.04java版本:JDK1.7SSH(ubuntu自带)三台在同一ip段的机器,设置为静态IP机器分配 ...
- 老李分享:大数据框架Hadoop和Spark的异同 1
老李分享:大数据框架Hadoop和Spark的异同 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨 ...
随机推荐
- Python习题集(四)
每天一习题,提升Python不是问题!!有更简洁的写法请评论告知我! https://www.cnblogs.com/poloyy/category/1676599.html 题目 如果一个 3 位数 ...
- 【开源】使用Angular9和TypeScript开发RPG游戏
RPG系统构造 通过对于斗罗大陆小说的游戏化过程,熟悉Angular的结构以及使用TypeScript的面向对象开发方法. 项目地址 人物 和其他RPG游戏类似,游戏里面的人物角色大致有这样的一些属性 ...
- Hive 时间操作
Hive 时间转换 UNIX时间戳概念:因为UNIX时间戳只是一个秒数,一个UNIX时间戳在不同时区看来,时间是不同的.如UNIX时间戳0,在0时区看来是1970-01-01 00:00:00,在东八 ...
- Unity 游戏框架搭建 2019 (九~十二) 第一章小结&第二章简介&第八个示例
第一章小结 为了强化教程的重点,会在合适的时候进行总结与快速复习. 第二章 简介 在第一章我们做了知识库的准备,从而让我们更高效地收集示例. 在第二章,我们就用准备好的导出工具试着收集几个示例,这些示 ...
- PyCharm导入selenium的webdirver模块出错
selenium安装好后准备验证一下,导入的webdriver有红色标识,检查了浏览器驱动的.环境变量仍然没有解决问题. 后来在百度找到了原因:项目没安装selenium Interpreter 打开 ...
- jupyter之配置自己喜欢的python环境
之前安装anaconda,会自动安装jupyer笔记本,但是本人从来没有用过,近期查看github上的一些教程时,发现很多文件都是.ipynb为后缀的jupyter文件,于是自己准备琢磨一下把环境换成 ...
- 浏览器与DNS解析过程
浏览器解析 1.地址栏输入地址后,浏览器检查自身DNS缓存 地址栏输入chrome://net-internals/#dns 查看. 2.浏览器缓存中未找到,那么Chrome会搜索操作系统自身的DNS ...
- 如何让Docker镜像飞起来
前言 Docker用起来非常爽,尤其是用于DevOps实践时.但是,当你在国内或者本地拉取镜像时,经常会碰到各种“便秘”——要么镜像拉取缓慢,要么时断时连,要么连接超时! 当我们的镜像又比较大时(比如 ...
- 02 Python函数与模块
• 函数是什么 print() input() format() list() lower() upper() • 函数的定义 def 函数名(形参1,2,3) 函数体 return • 函数 ...
- OpenCV-Python 直方图-1:查找、绘制和分析 | 二十六
目标 学会 使用OpenCV和Numpy函数查找直方图 使用OpenCV和Matplotlib函数绘制直方图 你将看到以下函数:cv.calcHist(),np.histogram()等. 理论 那么 ...