大数据小白系列——MR(1)】的更多相关文章

一部编程发展史就是一部程序员偷懒史,MapReduce(下称MR)同样是程序员们用来偷懒的工具. 来了一份大数据,我们写了一个程序准备分析它,需要怎么做? 老式的处理方法不行,数据量太大时,所需的时间无法忍受,所以,必须并行计算.好比1000块砖,1个人搬需要1小时,10个人同时搬,只需要6分钟. 不过进行并行计算,面临几个细思头大问题: 如何切分数据 如何处理部分任务失败 如何对多路计算的结果进行汇总 不过不用担心,世界就是这样的,少部分人发明创造工具,大部分人使用工具.总有聪明人在合适的时候…
这里是大数据小白系列,这是本系列的第四篇,来看一个真实世界Hadoop集群的规模,以及我们为什么需要Hadoop Federation. 首先,我们先要来个直观的印象,这是你以为的Hadoop集群: 这是真实世界的Hadoop集群: 因为,NameNode(下称NN)中的元数据记录了各个数据块的存储位置. 所以,元数据的大小,与数据块的数量成正比. 当集群存储的数据规模到达一定程度时,NN将成为整套系统中的瓶颈所在.NN的存储能力是有限的,不管是磁盘存储还是内存存储. 为了解决这个问题,HDFS…
这里是大数据小白系列,这是本系列的第三篇,介绍HDFS中NameNode选举,JournalNode等概念. 上一期我们说到了为解决NameNode(下称NN)单点失败问题,HDFS中使用了双NN的机制,一个Active NN,一个Standby NN. 现实常常是,解决一个问题的同时,免不了又引入了另外的问题. 谁来担任Active,谁来担任Standby? 两个NN谁也说服不了谁,这个时候需要引入一个外部角色:一个Zookeeper(下称ZK)集群. ZK也是个很有趣的东西,大数据小白系列后…
这里是大数据小白系列,这是本系列的第二篇,介绍一下HDFS中SecondaryNameNode.单点失败(SPOF).以及高可用(HA)等概念. 上一篇我们说到了大数据.分布式存储,以及HDFS中的一些基本概念,为了能更好的理解后续介绍的内容,这里先补充介绍一下NameNode到底是怎么存储元数据的. 首先,在启动的时候,将磁盘中的元数据文件读取到内存,后续所有变化将被直接写入内存,同时被写入一个叫Edit Log的磁盘文件.(如果你熟悉关系型数据库,这个Edit Log有点像Oracle Re…
[注1:结尾有大福利!] [注2:想写一个大数据小白系列,介绍大数据生态系统中的主要成员,理解其原理,明白其用途,万一有用呢,对不对.] 大数据是什么?抛开那些高大上但笼统的说法,其实大数据说的是两件事:一.怎么存储大数据,二.怎么计算大数据. 我们先从存储开始说,如果清晨起床,你的女仆给你呈上一块牛排,牛排太大,一口吃不了,怎么办?拿刀切小. 同样的,如果一份数据太大,一台机器存不了,怎么办?切小了,存到几台机器上. 想要保存海量数据,无限地提高单台机器的存储能力显然是不现实,就好比我们不能把…
上一期我们介绍了MR的基本流程与概念,本期稍微深入了解一下这个流程,尤其是比较重要但相对较少被提及的Shuffling过程. Mapping 上期我们说过,每一个mapper进程接收并处理一块数据,这块数据的大小默认就是一个HDFS数据块大小. Mapper处理数据时,基于性能考虑,会使用缓存,缓存的大小有一个默认值(比如100MB),满了之后,将会写入磁盘文件. 不过在写入之前,会在内存中进行分区(partition),分区的数量取决于reducer的数量,实际上也就是由MR框架决定,例如上图…
引言 在上一篇 大数据学习系列之四 ----- Hadoop+Hive环境搭建图文详解(单机) 和之前的大数据学习系列之二 ----- HBase环境搭建(单机) 中成功搭建了Hive和HBase的环境,并进行了相应的测试.本文主要讲的是如何将Hive和HBase进行整合. Hive和HBase的通信意图 Hive与HBase整合的实现是利用两者本身对外的API接口互相通信来完成的,其具体工作交由Hive的lib目录中的hive-hbase-handler-*.jar工具类来实现,通信原理如下图…
引言 在之前的大数据学习系列中,搭建了Hadoop+Spark+HBase+Hive 环境以及一些测试.其实要说的话,我开始学习大数据的时候,搭建的就是集群,并不是单机模式和伪分布式.至于为什么先写单机的搭建,是因为作为个人学习的话,单机已足以,好吧,说实话是自己的电脑不行,使用虚拟机实在太卡了... 整个的集群搭建是在公司的测试服务搭建的,在搭建的时候遇到各种各样的坑,当然也收获颇多.在成功搭建大数据集群之后,零零散散的做了写笔记,然后重新将这些笔记整理了下来.于是就有了本篇博文. 其实我在搭…
引言 在大数据学习系列之一 ----- Hadoop环境搭建(单机) 成功的搭建了Hadoop的环境,在大数据学习系列之二 ----- HBase环境搭建(单机)成功搭建了HBase的环境以及相关使用介绍.本文主要讲解如何搭建Hadoop+Hive的环境. 一.环境准备 1,服务器选择 本地虚拟机 操作系统:linux CentOS 7 Cpu:2核 内存:2G 硬盘:40G 说明:因为使用阿里云服务器每次都要重新配置,而且还要考虑网络传输问题,于是自己在本地便搭建了一个虚拟机,方便文件的传输以…
引言 在上一篇中 大数据学习系列之五 ----- Hive整合HBase图文详解 : http://www.panchengming.com/2017/12/18/pancm62/ 中使用Hive整合HBase,并且测试成功了.在之前的大数据学习系列之一 ----- Hadoop环境搭建(单机) : http://www.panchengming.com/2017/11/26/pancm55/ 中成功的搭建了Hadoop的环境,本文主要讲的是Hadoop+Spark 的环境.虽然搭建的是单机版,…