前言

本文大致介绍下Hadoop的一些背景知识,为后面深入学习打下铺垫。

什么是Hadoop

Hadoop是一个开源分布式计算平台,它以HDFS文件系统和MapReduce计算框架为核心。

前者能够让用户使用一些廉价的硬件搭建出分布式系统,后者则能够让用户在不需要过多了解底层架构细节的情况下,开发并行分布式应用程序。

-- 具体含义以后会详细分析。

Hadoop的作用

具体的来说,Hadoop的作用主要在于处理海量数据,这也是为什么大数据技术中常常提到这个概念的原因。

更具体的来说,雅虎通过它做Web搜索,跑广告系统;百度用它做搜索日志分析,网页数据挖掘;阿里用它存储海量的交易数据;移动研究院用它进行数据分析并对外提供服务。

很多人看好它会在更多领域(如银行,医院等),更深层次,发挥出更大作用。

Hadoop的优势

为什么Hadoop能够胜任这些工作?

有以下几个主要原因:

1. 高可靠性 - 能正确无误的处理数据

2. 高扩展性 - 可以方便的加入或屏蔽计算机集群中的节点

3. 高效性 - 能非常快速的处理数据

4. 高容错性 - 某个节点任务失败不会影响结果

Hadoop项目结构图

除了HDFS文件系统和MapReduce计算架构两大核心,Hadoop还提供了其他一些项目提供更多服务,这些项目也不可或缺。  

这些项目具体的使用方法,都是日后学习的重要内容,在此不做细致介绍。

Hadoop的体系结构

首先介绍HDFS文件系统的体系结构:

HDFS采用M/S结构模型,Namenode作为主服务器,管理文件系统的命名空间和客户端对文件的访问操作;而Datanode管理存储的数据。

下为HDFS文件系统的体系结构图:

通常来说一个典型的集群环境是一台机器运行Namenode而其他每台机器运行一个Datanode。

这里再介绍下MapReduce计算架构的体系结构:

MapReduce其本质是一个非常简单易用的并行编程框架,它同样采用M/S模型,由一个单独运行在主节点的JobTracker和运行在各个从节点上的TaskTracker共同组成。

小结

本文旨在描绘出Hadoop这头“大象”的具体轮廓,其细节在以后的文章中会具体分析,细细体会,实际应用。

第一篇:Hadoop简介的更多相关文章

  1. SAP-ABAP系列 第一篇SAP简介

    第一篇 SAP简介 SAP全名为System Application and Products in Data Processing.SAP目前是全世界排名第一的RP软件,号称“全球最大的企业管理解决 ...

  2. JavaMail入门第一篇 邮件简介及API概述

    现如今,电子邮件在我们的生活当中扮演着越来越重要的角色,我们每个人几乎都会与其打交道(至少时不时我们都会接收到莫名其妙的垃圾邮件),在工作中,使用邮件进行交流沟通,可以使我们的工作有迹可循,也显的较为 ...

  3. javascript第一篇----使用简介

    使用技巧 Javascript加入网页有两种方法:直接方式和引用方式. 直接方式 直接调用分为两种形式:代码块和代码行 代码行引用: <a href="javascript:alert ...

  4. go [第一篇]初识

    [第一篇] 简介 Go 是一个开源的编程语言,它能让构造简单.可靠且高效的软件变得容易. Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发 ...

  5. Hadoop实战第一篇

    前言:  都说现在是草根为尊的时代,近年来hadoop及spark技术在国内越来越流行.而且渐渐现成为企业的新宠.在DT时代全面来临之前,能提早接触大数据的技术必然能先人一步.本文作为Hadoop系列 ...

  6. 【ABAP系列】SAP ABAP7.40新语法简介第一篇

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP7.40新语法简 ...

  7. 第一篇 Replication:复制简介

    本篇文章是SQL Server Replication系列的第一篇,详细内容请参考原文. 复制这个词来自拉丁语中的"replicare",意味着重复.Replication des ...

  8. 【译】第一篇 Replication:复制简介

    本篇文章是SQL Server Replication系列的第一篇,详细内容请参考原文. 复制这个词来自拉丁语中的"replicare",意味着重复.Replication des ...

  9. Python爬虫小白入门(四)PhatomJS+Selenium第一篇

    一.前言 在上一篇博文中,我们的爬虫面临着一个问题,在爬取Unsplash网站的时候,由于网站是下拉刷新,并没有分页.所以不能够通过页码获取页面的url来分别发送网络请求.我也尝试了其他方式,比如下拉 ...

  10. 国内第一篇详细讲解hadoop2的automatic HA+Federation+Yarn配置的教程

    前言 hadoop是分布式系统,运行在linux之上,配置起来相对复杂.对于hadoop1,很多同学就因为不能搭建正确的运行环境,导致学习兴趣锐减.不过,我有免费的学习视频下载,请点击这里. hado ...

随机推荐

  1. html 旋转

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. Selenium常用操作汇总二——iframe的处理

    有时候我们在定位一个页面元素的时候发现一直定位不了,反复检查自己写的定位器没有任何问题,代码也没有任何问题.这时你就要看一下这个页面元素是否在一个iframe中,这可能就是找不到的原因之一.如果你在一 ...

  3. Git安装遇到的问题fatal: Could not read from remote repository.的解决办法

    转自:https://blog.csdn.net/huahua78/article/details/52330792 查看远端地址 git remote –v 查看配置 git config --li ...

  4. Homebrew替换源

    https://www.zhihu.com/question/31360766/answer/74155248 以及 https://www.zhihu.com/question/31360766

  5. Lucene系列五:Lucene索引详解(IndexWriter详解、Document详解、索引更新)

    一.IndexWriter详解 问题1:索引创建过程完成什么事? 分词.存储到反向索引中 1. 回顾Lucene架构图: 介绍我们编写的应用程序要完成数据的收集,再将数据以document的形式用lu ...

  6. e823. 创建JSplitPane

    A split pane divides its space between two components. The split pane contains a divider that allows ...

  7. Linq to Entity 动态拼接查询条件(重点是OR)

    public static class PredicateExtensions { /// <summary> /// 机关函数应用True时:单个AND有效,多个AND有效:单个OR无效 ...

  8. Linux 定时任务crontab_014

    1.  crontab命令概念 crontab命令用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行. cron 系统调度进程. 可以使 ...

  9. mybatis 参数为String,用_parameter 取值

    mybatis 参数为String,if test读取该参数代码: <select id="getMaxDepartId" parameterType="java. ...

  10. u3d加载外部视屏

    u3d的外部加载视屏,采用www方式,可以使用gui播放,也可以绑定到gameobject上作为动态材质使用,不过目前只支持.ogg格式,需要转... using UnityEngine;using ...