Hadoop是什么?

  Hadoop是一个处理海量数据的开源框架。2002年Nutch项目面世,这是一个爬取网页工具和搜索引擎系统,和其他众多的工具一样,都遇到了在处理海量数据时效率低下,无法存储爬取网页和搜索网页时产生的海量数据的问题。2003年谷歌发布了一篇论文,专门介绍他们的分布式文件存储系统GFS。鉴于GFS在存储超大文件方面的优势,Nutch按照GFS的思想在2004年实现了Nutch的开源分布式文件系统,即NDFS。2004年谷歌发布了另一篇论文,专门介绍他们处理大数据的计算框架MapReduce,2005年初Nutch开发人员在Nutch上实现了开源的MapReduce,这就是Hadoop的雏形。2006年Nutch将NDFS和MapReduce迁出Nutch,并命名为Hadoop,同时雅虎公司专门为Hadoop建立一个团队,将其发展成为能够处理海量数据的Web框架,2008年Hadoop成为Apache的顶级项目。

2007年9月发布hadoop 0.14.1,第一个稳定版本。

2009年4月发布hadoop 0.20.0版本。

2011年12月发布hadoop 1.0.0版本,这是经过将近6年的酝酿后发布的一个版本,该版本基于0.20安全代码线,增加如下的功能:

安全,

Hbase(append/hsynch/hflush和security)

webhdfs(完全支持安全)

增加HBase访问本地文件系统的性能

2.12年5月发布hadoop 2.0.0-alpha,则是hadoop-2.X系列的第一个版本,增加很多重要的特性:

1、NameNode HA(High Availability高可靠性),当主NameNode挂掉时,备用NameNode可以快速启动,成为主NameNode节点,向外提供服务。

2、HDFS Federation。

3、YARN aka NextGen MapReduce。

2017年9月份发布Hadoop 3.0.0 generally版本,这是hadoop 3.x系列的第一个版本。

目前市面上还是以Hadoop2.x系列为主,Hadoop3.x还没正式的运用到生产系统中。

一句话总结:Hadoop是开源的大数据处理框架,分为处理数据的MapReduce和存储数据的HDFS。

Hadoop能做什么?

  Hadoop可以用来处理海量数据,对数据进行分析。现在互联网企业每天都产生大量的日志数据,有的甚至达到PB级别,像国外的facebook,twitter,国内的阿里、腾讯、京东、百度等企业。在Haddop没出现之前,都是用小型机处理数据,价格昂贵不说,还耗费时间,Hadoop面世之后,可以使用廉价机器搭建Hadoop集群,一台小型机的价格就可以搭建起一个20个节点的Hadoop集群。2007年雅虎在900个节点的hadoop集群上对1T的数据进行排序只需要209秒,引起业界的关注,从此Haddoop逐渐成为大数据处理的标准,众多厂商纷纷向其靠拢。目前国内的互联网企业对Hadoop的使用都比较成熟,在2015年的时候百度的Hadoop集群就达到4000个节点。

Hadoop的缺点

  Hadoop适合处理海量的离线数据,对于处理实时数据却不合适,例如实时股票交易分析。实时海量数据处理目前有比较好的框架,分别是Spark Streaming,Storm,Flink。他们也都是基于Hadoop的基础上实现的,数据Hadoop生态系统中的一员。

Hadoop生态框架

  现在我们讲Hadoop,泛指Hadoop生态系统中的各种组件,包括用于构架数据仓库和分析数据的Hive,基于HDFS的列式数据库HBase,实时数据处理框架Flink、Storm、Spark Streaming等。下图是Hadoop的生态系统图。

一起学Hadoop——Hadoop的前世今生的更多相关文章

  1. [Hadoop]Hadoop章2 HDFS原理及读写过程

    HDFS(Hadoop Distributed File System )Hadoop分布式文件系统. HDFS有很多特点: ① 保存多个副本,且提供容错机制,副本丢失或宕机自动恢复.默认存3份. ② ...

  2. hadoop hadoop install (1)

    vmuser@vmuser-VirtualBox:~$ sudo useradd -m hadoop -s /bin/bash[sudo] vmuser 的密码: vmuser@vmuser-Virt ...

  3. Hadoop hadoop 机架感知配置

    机架感知脚本 使用python3编写机架感知脚本,报存到topology.py,给予执行权限 import sys import os DEFAULT_RACK="/default-rack ...

  4. EDW on Hadoop(Hadoop上的数据仓库)技术选型和实践思考

    在这篇文章中, 将讨论EDW on Hadoop 有哪些备选方案, 以及我个人的倾向性, 最后是建构方法.  欢迎转载, 但必须注明原贴(刘忠武,  http://www.cnblogs.com/ha ...

  5. [Hadoop] Hadoop学习历程 [持续更新中…]

    1. Hadoop FS Shell Hadoop之所以可以实现分布式计算,主要的原因之一是因为其背后的分布式文件系统(HDFS).所以,对于Hadoop的文件操作需要有一套全新的shell指令来完成 ...

  6. [Hadoop] Hadoop学习笔记之Hadoop基础

    1 Hadoop是什么? Google公司发表了两篇论文:一篇论文是“The Google File System”,介绍如何实现分布式地存储海量数据:另一篇论文是“Mapreduce:Simplif ...

  7. [hadoop] hadoop “util.NativeCodeLoader: Unable to load native-hadoop library for your platform”

    执行 bin/hdfs dfs -mkdir /user,创建目录时出现警告信息. WARN util.NativeCodeLoader: Unable to load native-hadoop l ...

  8. java.io.FileNotFoundException: /home/hadoop/hadoop/dfs/namenode/current/VERSION (Permission denied)

    今天布置hadoop集群,尝试单独将secondarynamenode分属到一台独立的虚拟机上, 当格式化后,start-dfs.sh.namenode没启动.查看日志.报错例如以下 查看权限才发现, ...

  9. [Hadoop] - Hadoop Mapreduce Error: GC overhead limit exceeded

    在运行mapreduce的时候,出现Error: GC overhead limit exceeded,查看log日志,发现异常信息为 2015-12-11 11:48:44,716 FATAL [m ...

随机推荐

  1. makefile中的gcc -o $@ $^是什么意思?

    $@表示目标,$^表示依赖列表. 比如: edit : main.o kbd.o command.o display.o insert.o search.o files.o utils.o $@就是e ...

  2. LSH(Locality Sensitive Hashing)原理与实现

    原文地址:https://blog.csdn.net/guoziqing506/article/details/53019049 LSH(Locality Sensitive Hashing)翻译成中 ...

  3. Win10 开启移动热点 WiFi 的简单方法

    原文地址:https://blog.csdn.net/u012318074/article/details/77162475 Win 10 开启移动热点 WiFi 的方法很简单,并不需要像网上那样还要 ...

  4. Laravel 5.2控制器--为什么命令行创建控制器的时候会报错?

    今天我遇到过一种情况:就是之前创建的控制器名称想更改(仅仅只是大小写问题而已),然后用命令行重新创建新的名称的控制器. 结果就报错了? [ReflectionException] Class App\ ...

  5. 【原创】大数据基础之Kerberos(1)简介、安装、使用

    kerberos5-1.17 官方:https://kerberos.org/ 一 简介 The Kerberos protocol is designed to provide reliable a ...

  6. 基于官方mysql镜像构建自己的mysql镜像

    参考文章:https://www.jb51.net/article/115422.htm搭建步骤 1.首先创建Dckerfile: 1 2 3 4 5 6 7 8 9 10 11 12 FROM my ...

  7. python基础--管理目录与文件

    1) 文件夹 os.listdir() #显示文件夹下所有文件 os.getcwd() #获取当前工作目录 os.chdir() #切换目录 os.mkdir() #建立目录 os.path.exis ...

  8. python-并发编程之多进程

    一.操作系统基础: 进程的概念起源于操作系统,操作系统其它所有概念都是围绕进程来的,所以我们了解进程之前先来了解一下操作系统 操作系统位于计算机硬件与应用软件之间,本质也是一个软件.操作系统由操作系统 ...

  9. VMware虚拟机安装Linux系统centos7(一)

    1.安装虚拟机(自行百度) 2.编辑虚拟机设置 光驱设置,镜像选择:(也可设置2核2G,基于自己计算机选择!) 3.点击开启此虚拟机(上下键选择安装,回车) 4.选择语言 5.设置 如果想安装图形化界 ...

  10. Confluence 6 通过 SSL 或 HTTPS 运行 - 确定你的证书路径

    在默认的情况下,Tomcat 希望 keystore 文件被命名为 .keystore 文件,同时这个文件应该放置在 Tomcat 运行的 home 目录中(这个目录可能与你自己的 Home 目录的路 ...