Hadoop如何工作(转)

Hadoop是一个能够对大量数据进行分布式处理的软件框架,当下企业越来越流行,程序员必会的,掌握的一门技术。。。

首先,我们来聊一聊什么是hadoop吧,相信现在的程序员对这个并不陌生,hadoop又名大数据处理,或者分布式文件存储和计算系统。不多说别的,举一例,大家都用过网盘吧,比如现在火热的百度网盘,现在百度都给大家免费的分配2T的网盘空间了,2048个G啊,还是不小的空间了吧,想必一般人的电脑都没有达到2T的硬盘存储空间了吧,那么百度是怎么做到敢给每个人分配2T的硬盘空间呢,这当然还是归功于hadoop的集群服务器的搭建。那么百度是哪里来的那么多的硬盘空间来给大家两个T的存储空间呢???

首先,给每个人分配了两个T的存储空间,并不是就将一个2T的硬盘放在了服务器架子上写上你的名字等着你去上传文件给你来存储。而是将许多个硬盘放在服务器架子上,给你每个人分配了2T的空间,你每个人也不一定用得了2T吧,所以聪明的工程师就利用hadoop集群来为每个人动态的分配存储空间,每个人给你指定了你可以上传的资料达到2T,如果服务器的硬盘不够了,那就再多增加几台服务器,然后搭进hadoop集群就好了。

好了,现在给每个用户动态的分配了两个T的空间,每个人都可以上传资料去自己的网盘了,那么每个人都上传资料这也没问题,如果好多人上传的是同一份资料呢,那就太占用服务器的硬盘资源了,硬盘资源还是很宝贵的。那么怎么解决同样的文件上传的问题呢?聪明的工程师又想到了一个新的办法,那就是在你上传文件的时候进行文件检测,检测看看服务器有没有这个文件,使用一个检测方法来检测你要上传的文件再服务器中是否存在,如果存在了,就直接把服务器的那个文件指向你要上传的这个文件,有时候你感觉好几百兆的文件一下子就能上传完了,别高兴太早了,不是你的网速好,只是别人服务器上恰好有一份同样的文件而已罢了。聪明的工程师为上传取了一个好听的名字,叫做秒传。

好了,hadoop的大致工作情况就是这样的。

时间: 2024-08-24 00:26:57

Hadoop如何工作(转)的相关文章

hadoop的工作原理

hadoop是一种分布式系统的平台,通过它可以很轻松的搭建一个高效.高质量的分布系统,而且它还有许多其它的相关子项目,也就是对它的功能的极大扩充,包括Zookeeper,Hive,Hbase等. MapReduce是hadoop的核心组件之一,hadoop要分布式包括两部分,一是分布式文件系统hdfs,一部是分布式计算框,就是mapreduce,缺一不可,也就是说,可以通过mapreduce很容易在hadoop平台上进行分布式的计算编程. 首先是hdfs,也就是hadoop的存储系统,首先hdf

[Hadoop]MapReducer工作过程

1. 从输入到输出 一个MapReducer作业经过了input,map,combine,reduce,output五个阶段,其中combine阶段并不一定发生,map输出的中间结果被分到reduce的过程成为shuffle(数据清洗). 在shuffle阶段还会发生copy(复制)和sort(排序). 在MapReduce的过程中,一个作业被分成Map和Reducer两个计算阶段,它们由一个或者多个Map任务和Reduce任务组成.如下图所示,一个MapReduce作业从数据的流向可以分为Ma

Hadoop MapReduce工作原理

在学习Hadoop,慢慢的从使用到原理,逐层的深入吧 第一部分:MapReduce工作原理 MapReduce 角色 ?Client :作业提交发起者. ?JobTracker: 初始化作业,分配作业,与TaskTracker通信,协调整个作业. ?TaskTracker:保持JobTracker通信,在分配的数据片段上执行MapReduce任务. 提交作业 ?在作业提交之前,需要对作业进行配置 ?程序代码,主要是自己书写的MapReduce程序. ?输入输出路径 ?其他配置,如输出压缩等. ?

Hadoop Mapreduce 工作机制

一.Mapreduce 中的Combiner package com.gec.demo; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Reducer; import java.io.IOException; public class WcCombiner extends Reducer<Text, IntWritable,

个人的工作总结(和工作规划)

写在前面: 结合我的工作经验,我对未来工作做出了一些规划.算是想法的总结,我希望能达到有效的沟通.请指正我哪里有不合适的.告诉我哪里能做,哪里不能做,哪里不足. 现在,我已经养成一个engineer思维,所以我可以教授如何像一个engineer一样思考. 思维方式: Engineer和scientist的思维方式,完全不同. Scientist:why Analyze:注重原理,从简入繁(从现象,原因,分析各种复杂的因素) Engineer:how Realize:注重实现.化繁为简(将原理用工

Hadoop之Reduce侧的联结

理解其就像关系型数据库中的链接查询一样,数据很多的时候,几个数据文件的数据能够彼此有联系,可以使用Reduce联结.举个很简单的例子来说,一个只存放了顾客信息Customer.txt文件,和一个顾客相关联的Order.txt文件,要进行两个文件的信息组合,原理图如下: 这里涉及的几个专业术语:Group key ,datasourde,Tag.前者的话通俗点来说的话就相当于关系型数据库中的主键和外键,通过其id进行的联结依据.datasource,顾名思义,就是数据的来源,那么这里指的就是Cus

在HDInsight中的Hadoop介绍

在HDInsight中的Hadoop介绍 概览 Azure的HDInsight是,部署和规定的Apache?Hadoop?集群在云中,提供用于管理,分析和大数据报告软件框架中的服务. 大数据 数据被描写叙述为"大数据",以表明它被收集在以往升级卷,以越来越高的速度,并为一个扩大各种非结构化格式和可变语义语境.大数据的收集并不正确企业自身提供的价值. 对于大数据在可操作智能或洞察力的形式提供价值.不仅要正确的问题问及相关的问题,数据收集,数据必须能够訪问.清洗.分析,然后在一个实用的方式

Linux下配置Hadoop

首先要下载hadoop的包,版本选择1.2.1的,下载地址为:http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-1.2.1/ 这里可以下载hadoop-1.2.1-tar.gz包括源码或者hadoop-1.2.1-bin.tar.gz执行包不包括源码,两个文件大小差不多正好是一倍关系 下载之后通过tar -xzvf hadoop-1.2.1.tar.gz进行解压,解压后放到我们指定的目录中,然后进入conf目录开始配置文件 主要就是配置had

Haddop随笔(一):工作流程的源码

一.几个可能会用到的属性值 1.mapred.map.tasks.speculative.execution和mapred.reduce.tasks.speculative.execution 这两个属性可以决定Map任务和Reduce任务是否开启推测式执行策略.推测式执行策略在Hadoop中用来应对执行缓慢的任务所造成的瓶颈,但是对代码缺陷所导致的任务执行过慢,推测执行是一种反向的作用,应当避免,而Hadoop默认是开启推测式执行的. 2.mapred.job.reuse.jvm.num.ta