前言

本文大致介绍下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. nano 命令 linux

    用途说明 nano是一个字符终端的文本编辑器,有点像DOS下的editor程序.它比vi/vim要简单得多,比较适合Linux初学者使用.某些Linux发行版的默认编辑器就是nano.(nano - ...

  2. 在C++中调用DLL中的函数(2)

    本文转自:http://blog.sina.com.cn/s/blog_53004b4901009h3b.html 应用程序使用DLL可以采用两种方式: 一种是隐式链接,另一种是显式链接.在使用DLL ...

  3. 关于Unity中Shader的基础认识

    Shader也叫着色器,是Unity里面比较难的一个点,网上有很多别人写好的shader,我们可以下载下来用或者修改学习. Shader可以做出很多非常不错的效果,因为它是插在渲染管道里面的程序,一来 ...

  4. Java如何中断正在运行的线程?

    在Java编程中,如何中断正在运行的线程? 以下示例演示如何使用Thread类的interrupt()方法中断正在运行线程,并检查线程是否使用isInterrupted()方法中断. package ...

  5. 使用@Ignore注解

    断续上一节的例子,了解如何使用@Ignore注解.在测试类FirstDayAtSchoolTest中,我们将添加@Ignore注解到testAddPencils()方法.以这种方式,我们期望这个测试方 ...

  6. Spring JDBC PreparedStatementSetter接口示例

    org.springframework.jdbc.core.PreparedStatementSetter接口充当JdbcTemplate类使用的一般回调接口.该接口在JdbcTemplate类提供的 ...

  7. CSS3小清新下拉菜单 简易大方

    之前有分享过几款CSS3菜单和jQuery菜单,像这款HTML5/CSS3自定义下拉框 3D卡片折叠动画3D效果非常华丽,这次要分享的这款相对比较简单,很适合用在用户的操作面板上.先来看看效果图: 怎 ...

  8. spring mvc实现接口参数统一更改

    适用于post  json方式提交 使用map接收的接口参数更改. 使用@Aspect实现:

  9. 创建 React-Native 工程时,如何指定特定的 React-Native 版本

    react-native 可能会出现一种情况,就是版本最高的可能出现有些东西不太稳定,这时候要用到旧的版本怎么办?就可以用以下方法创建项目. 0. 原因 创建新的 React-Native (以下简称 ...

  10. asp.net MVC中防止跨站请求攻击(CSRF)的ajax用法

    参考: Preventing Cross-Site Request Forgery (CSRF) AttacksValidating .NET MVC 4 anti forgery tokens in ...