一、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操作带来的瓶颈。

欢迎各位来探讨交流:QQ:747861092

QQ群:163354117    (群名称:CodeForFuture)

最新文章

  1. mysql数据去除重复及相关优化(转)
  2. VerifyCodeUtil.java
  3. eclipse使用tomcat进行部署时编译代码不一致的处理
  4. eclipse下开发winform的插件WindowBuilder
  5. codeforces 375D:Tree and Queries
  6. [Hive - LanguageManual] Archiving for File Count Reduction
  7. scrapy使用crontab定时任务不能自动执行的调试
  8. 多进程用户并发处理Demo(C#版)
  9. Linux学习笔记4-三种不同类型的软件的安装(绿色软件、rpm软件、源代码软件)
  10. Android dp和sp的用法汇总
  11. ACM网络镜像赛
  12. 菲菲更名宝贝(批量更名软件) v8.0 绿色版
  13. Unity热更新之C#反射动态获取类属性及方法
  14. git使用kdiff3合并乱码问题
  15. 2018-2019 20165220 网络对抗 Exp5 MSF基础
  16. 【ASP.NET Core快速入门】(四)在CentOS上安装.NET Core运行时、部署到CentOS
  17. Confluence 6 修改站点图标(favicon)
  18. 【机器学习】从分类问题区别机器学习类型 与 初步介绍无监督学习算法 PAC
  19. 解决maltab的中文和英文字体问题,中文乱码
  20. js join 与 split

热门文章

  1. POJ 3450 Corporate Identity KMP解决问题的方法
  2. T-SQL基础(2) - 单表查询
  3. c++学习笔记4,调用派生类的顺序构造和析构函数(一个)
  4. 《反project核心原则》说明
  5. effective c++ 条款11 Handle assignment to self in operator=
  6. PIC16SCM设置不同IO功耗端口状态的影响
  7. C++ primer札记10-继承
  8. Memcached全面剖析–5. memcached的应用和兼容程序
  9. AIDL介绍和实例讲解
  10. 开源Math.NET基础数学类库使用(10)C#进行基本数据统计