一、Hadoop来历

Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明了倒排索引算法,通过加入了Map-reduce的思想来计算Page Rank,通过不断的演变Google带给我们了GFS、Map-Reduce、Bigtable这三大的关键技术和思想。由于Google的这些技术没有开源代码。有个人就模仿Google实现了类似Google全文搜索功能的框架Lucene,它提供了全文检索引擎的架构,包括完整的查询引擎和搜索引擎。面临大数据的情况下,Lucene面对与Google同样的困难。就使得Lucene的作者模仿着Google解决的这些问题在lucene项目下做了一个子项目Nutch。几年以后Google公开了部分GFS和Mapreduce的思想细节,作者在此为基础上做出了Hadoop,Hadoop作为Lucene的子项目Nutch的一部分正式引入了Apache基金。

二、Hadoop解决了什么问题?

随着时间的推移Hadoop一步步的进步解决了一下几个问题:

1、海量数据的及时分析和处理。

2、海量数据深入分析和挖掘。

3、数据的长期保存。

4、实现云计算。

5、能在数千个节点上运行,处理数据量和排序时间不断的缩短。

三、Hadoop基本架构。

3.1 Hadoop框架的基本构成。

HBase:NoSql数据库,Key-Value存储,NoSql的数据库链式存储,数据分析提高相应速度。最大化 利用内存。

HDFS: Hadoop distribute file system 分布式文件系统,最大化利用磁盘

MapReduce:编程模型主要用来做数据的分析,最大化利用CPU。

Pig:用户与MapReduce的转换器。

Hive :SQL语言到MapReduce的转换器。

Zookeeper:服务器节点和进程之间的通讯。

chukwa:数据集成通讯。

3.2 Hadoop框架集群架构

Namenode:HDFS的守护程序,记录文件是如何分割成数据块的。以及这些数据块被存储到哪些节点上。对内存和I/O进行集中管理。是个单点,发生故障将使集群崩溃。

Secondary Namenode: 监控HDFS状态的辅助后台程序,在每一个集群都有一个,与NameNode进行通讯保存HDFS元数据快照,当NameNode故障可以作为备用NameNode使用。

DateNode:每台从服务器都运行一个负责把HDFS数据块读写到本地文件系统。

JobTracker:用于处理用户提交代码的后台程序,决定由哪些文件参与处理,然后切割task并分配节点。监控task,重启失败的task,每个集群只有唯一一个JobTracker位于Master节点。

四、总结。

Hadoop的出现解决了我们大数据分析和挖掘,还大大降低了成本,不用买什么很强大的服务器,只要是个PC机我们就可以把它挂到Hadoop节点上就可以让它为我们大数据的分析和挖掘做贡献。Hadoop还解决了我们关于大数据的存储问题,这样我们就不用担心大数据对磁盘I/0操作带来的瓶颈。

Java入门到精通——框架篇之Hadoop概述的更多相关文章

  1. Java入门到精通——框架篇之Spring源码分析Spring两大核心类

    一.Spring核心类概述. Spring里面有两个最核心的类这是Spring实现最重要的部分. 1.DefaultListableBeanFactory 这个类位于Beans项目下的org.spri ...

  2. Java入门到精通——工具篇之Maven概述

    为接手gxpt准备已经快一个月了从SSH2-->EJB-->环境搭建-->Maven的构建.下面就带领大家初始Maven 一.什么是Maven. Maven是一个垮平台的项目管理工具 ...

  3. Java入门到精通——基础篇之多线程实现简单的PV操作的进程同步

    Java入门到精通——基础篇之多线程实现简单的PV操作的进程同步 一.概述     PV操作是对信号量进行的操作.     进程同步是指在并发进程之间存在一种制约关系,一个进程的执行依赖另一个进程的消 ...

  4. Java入门到精通——基础篇之static关键字

    一.概述        static 关键字是声明静态变量,静态方法用的.static的含义是属于类且不属于类对象的变量和函数. 二.static的产生.         在创建对象的时候除非用new ...

  5. Java入门到精通——基础篇之面向对象

    一.概述. Java属于面向对象的一种语言,因为Java是面向对象的语言所以这个语言的诞生需要有五个基本特性: 1)万物皆为对象. 2)程序是对象的集合. 3)每个对象都有自己的由其他对象所构成的存储 ...

  6. 学java入门到精通,不得不看的15本书

    学java入门到精通,不得不看的15本书 一.Java编程入门类1.<Java编程思想>2.<Agile Java>中文版 二.Java编程进阶类1.<重构 改善既有代码 ...

  7. SaltStack 入门到精通第二篇:Salt-master配置文件详解

    SaltStack 入门到精通第二篇:Salt-master配置文件详解     转自(coocla):http://blog.coocla.org/301.html 原本想要重新翻译salt-mas ...

  8. SaltStack入门到精通第一篇:安装SaltStack

    SaltStack入门到精通第一篇:安装SaltStack 作者:纳米龙  发布日期:2014-06-09 17:50:36   实际环境的设定: 系统环境: centos6 或centos5 实验机 ...

  9. Promise入门到精通(初级篇)-附代码详细讲解

    Promise入门到精通(初级篇)-附代码详细讲解 ​     Promise,中文翻译为承诺,约定,契约,从字面意思来看,这应该是类似某种协议,规定了什么事件发生的条件和触发方法. ​     Pr ...

随机推荐

  1. Preferences偏好设置

    Preferences偏好设置-Preferences偏好设置 General(综合设置):在综合设置界面内,对Unity集成开发环境进行一些相关的设置 Auto Refresh:自动更新 Alway ...

  2. ansible基本模块-yum

    ansible   XXX   -m   yum   -a  "name=XXX"

  3. SpringBoot application.properties 配置项详解

    参考: http://blog.csdn.net/lpfsuperman/article/details/78287265### # spring boot application.propertie ...

  4. Qt 学习之路 2(70):进程间通信

    Qt 学习之路 2(70):进程间通信 豆子 2013年11月12日 Qt 学习之路 2 16条评论 上一章我们了解了有关进程的基本知识.我们将进程理解为相互独立的正在运行的程序.由于二者是相互独立的 ...

  5. C++_类继承2-多态公有继承

    有时候希望同一个方法在派生类和基类中的行为是不同的.换句话说,方法的行为取决于调用该方法的对象.这种较复杂的行为称为多态——具有多种形态.即同一种方法其行为随上下文而异.有两种重要的机制可用于实现多态 ...

  6. 【DP】+【贪心】【前缀和】洛谷P2893 [USACO08FEB]修路Making the Grade 题解

        正常的没想到的DP和玄学贪心. 题目描述 A straight dirt road connects two fields on FJ's farm, but it changes eleva ...

  7. Collectors.groupingBy分组后的排序问题

    默认groupingBy代码里会生成一个HashMap(hashMap是无序的,put的顺序与get的顺序不一致) HashMap是无序的,HashMap在put的时候是根据key的hashcode进 ...

  8. vi下搜索文本

    ) /user ) n 下一个匹配 ) N 上一个匹配 ) ?user 从结尾开始搜索 ) :nohlsearch 关闭高亮显示6) :100 跳转到第100行

  9. javaScript 和 node.js 的一些文章收集

    这里收集了一些文章的链接,方便自己查询翻看,也避免把别人的成果复制过来再发布,节约时间. ThinkJS 3 正式版发布 我来回答饿了么大前端的问题(1) 一起理解 Virtual DOM 探讨Nod ...

  10. 搭建Redis报错

    2018-10-26 报错信息 You need tcl 8.5 or newer in order to run the Redis test 原因 缺少 tcl 插件 解决方式 wget http ...