Hadoop简介

官方网站:  http://hadoop.apache.org/

中文网站:  http://hadoop.apache.org/docs/r1.0.4/cn/

Hadoop设计来源

根据Google的三大论文 GFS(Google File System):

Google的分布式文件系统       http://www.cnblogs.com/999-/p/7120490.html

MapReduce: Google的MapReduce开源分布式并行计算框架 http://www.cnblogs.com/999-/p/7120503.html

BigTable:     一个大型的分布式数据库 http://www.cnblogs.com/999-/p/7120499.html

创始人

             

Hadoop之父Doug Cutting,Hadoop这个名字不是一个缩写,而是一个虚构的名字。该项目的创建者,Doug Cutting解释Hadoop的得名 :“这个名字是我孩子给一个棕黄色的大象玩具命名的。我的命名标准就是简短,容易发音和拼写,没有太多的意义

Hadoop可以做什么

1.HDFS用于存储大数据

2.分布式概念

3.MapReduce用于处理数据

Map分配数据到各个节点,Reduce拉取处理后数据

4.HBase用于存储数据,快速高效查询处理

5.Zookeeper用于协调各个组件

6.Hadoop生态圈

相关组件介绍

HDFS(Hadoop Distributed File System): 分布式文件存储系统(HDFS)。源自于Google的GFS论文。HDFS 是一种数据分布式保存机制,数据被保存在计算机集群上。数据写入一次,读取多次。是Hadoop体系中数据存储管理的基础。

MapReduce: 它是一个分布式、并行处理的计算框架。MapReduce 把任务分为 map(映射)阶段和 reduce(化简)。开发人员使用存储在HDFS 中数据(可实现快速存储),编写 Hadoop 的 MapReduce 任务。由于 MapReduce工作原理的特性, Hadoop 能以并行的方式访问数据,从而实现快速访问数据。

Yarn(Yet Another Resource Negotiator): 是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。

Hbase: 源自Google的Bigtable论文,是一个分布式的列式存储 NoSQL 数据库,用于快速读/写大量数据。HBase中保存的数据可以使用MapReduce来处理,它将数据存储和并行计算完美地结合在一起。HBase 使用 Zookeeper 进行管理,确保所有组件都正常运行。

ZooKeeper: 用于 Hadoop 的分布式协调服务。Hadoop 的许多组件依赖于 Zookeeper,它运行在计算机集群上面,用于管理 Hadoop 操作。解决分布式环境下的数据管理问题:统一命名,状态同步,集群管理,配置同步等。

Sqoop(SQL-to-Hadoop): 数据同步工具。Sqoop是一个Hadoop和关系型数据库之间的数据转移工具。可将关系型数据库中的数据导入到Hadoop的HDFS中,也可将HDFS中的数据导进到关系型数据库中主要用于传统数据库和Hadoop之前传输数据。数据的导入和导出本质上是Mapreduce程序,充分利用了MR的并行化和容错性。

Hive: Hive定义了一种类似SQL的查询语言(HQL),用于运行存储在 Hadoop 上的查询语句,Hive 让不熟悉 MapReduce 开发人员也能编写数据查询语句,然后这些语句被翻译为 Hadoop 上面的 MapReduce 任务。

Flume: Flume数据流提供对日志数据进行简单处理的能力,如过滤、格式转换等。此外,Flume还具有能够将日志写往各种数据目标(可定制)的能力。总的来说,Flume是一个可扩展、适合复杂环境的海量日志收集系统。

Pig :Pig是一个基于Hadoop的大数据分析平台,它提供了一个叫PigLatin的高级语言来表达大数据分析程序,将脚本转换为MapReduce任务在Hadoop上执行。通常用于进行离线分析。

Kafka: Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理, 也是为了通过集群来提供实时的消费。

Mahout: 数据挖掘算法库。Mahout的主要目标是创建一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout现在已经包含了聚类、分类、推荐引擎(协同过滤)和频繁集挖掘等广泛使用的数据挖掘方法。除了算法,Mahout还包含数据的输入/输出工具、与其他存储系统(如数据库、MongoDB 或Cassandra)集成等数据挖掘支持架构。

Ambari 是一个对Hadoop集群进行监控和管理的基于Web的系统。

Hadoop优点

适合大数据的处理 --GB,TB,PB级别的数据量 --百万规模以上的文件数量

高容错性 --数据自动保存多个副本 --副本丢失后,自动恢复

流式文件访问 --一次性写入、多次并行读取 --保证数据的一致性

可构建在廉价机器上 --通过多副本提高可靠性 --提供了容错和恢复机制

适合批处理 --移动计算而非移动数据 --数据位置暴露给计算框架

Hadoop缺点

不适合低延迟数据访问场景 --比如毫秒级 --低延迟与高吞吐率

小文件存取 --占用NameNode大量内存 --寻道时间超过读取时间

不适合并发写入、文件随时修改 --一个文件只能有一个写入者 --仅支持append

应用场景

1.海量数据的可靠性存储

2.数据归档

01. 数据存档(data archiving)是将不再经常使用的数据移到一个单独的存储设备来进行长期保存的过程。

02. 数据存档由旧的数据组成,但它是以后参考所必需且很重要的数据,其数据必 须遵从规则来保存。

03. 数据存档具有索引和搜索功能,这样文件可以很容易地找到.

大数据Hadoop——初识Hadoop的更多相关文章

  1. 大数据测试之初识Hadoop

    大数据测试之初识Hadoop POPTEST老李认为测试开发工程师是面向测试的开发,也就是说,写代码就是为完成测试任务服务的,写自动化测试(性能自动化,功能自动化,安全自动化,接口自动化等等)的cas ...

  2. 【大数据】初识Hadoop

    因为项目日志体量较大,每天有4-7T的日志量,传统的sqlserver已经不能满足,所以现在需要使用到大数据的相关工具进行记录和使用. 虽然公共项目提供了组件和解决方案,但是对于一些名词.概念还是有必 ...

  3. 大数据时代之hadoop(五):hadoop 分布式计算框架(MapReduce)

    大数据时代之hadoop(一):hadoop安装 大数据时代之hadoop(二):hadoop脚本解析 大数据时代之hadoop(三):hadoop数据流(生命周期) 大数据时代之hadoop(四): ...

  4. 一篇了解大数据架构及Hadoop生态圈

    一篇了解大数据架构及Hadoop生态圈 阅读建议,有一定基础的阅读顺序为1,2,3,4节,没有基础的阅读顺序为2,3,4,1节. 第一节 集群规划 大数据集群规划(以CDH集群为例),参考链接: ht ...

  5. [Hadoop大数据]——Hive初识

    Hive出现的背景 Hadoop提供了大数据的通用解决方案,比如存储提供了Hdfs,计算提供了MapReduce思想.但是想要写出MapReduce算法还是比较繁琐的,对于开发者来说,需要了解底层的h ...

  6. 初识大数据(二. Hadoop是什么)

    hadoop是一个由Apache基金会所发布的用于大规模集群上的分布式系统并行编程基础框架.目前已经是大数据领域最流行的开发架构.并且已经从HDFS.MapReduce.Hbase三大核心组件成长为一 ...

  7. 从Hadoop Summit 2016看大数据行业与Hadoop的发展

    前言: 好吧我承认已经有四年多没有更新博客了.... 在这四年中发生了很多事情,换了工作,换了工作的方向.在工作的第一年的时候接触机器学习,从那之后的一年非常狂热的学习机器学习的相关技术,也写了一些自 ...

  8. ASP.NET + SqlSever 大数据解决方案 PK HADOOP

    半个月前看到博客园有人说.NET不行那篇文章,我只想说你们有时间去抱怨不如多写些实在的东西.  1.SQLSERVER优点和缺点? 优点:支持索引.事务.安全性以及容错性高 缺点:数据量达到100万以 ...

  9. 大数据时代之hadoop(四):hadoop 分布式文件系统(HDFS)

    分布式文件系统即是网络中多台计算机组合在一起提供一个统一存储及管理的系统. Hadoop提供了一个文件系统接口和多个分布式文件系统实现,其中比较重要的就是HDFS(Hadoop Distributed ...

随机推荐

  1. 一文讲透静电放电(ESD)保护(转发)

    一直想给大家讲讲ESD的理论,很经典.但是由于理论性太强,任何理论都是一环套一环的,如果你不会画鸡蛋,注定了你就不会画大卫. 先来谈静电放电(ESD: Electrostatic Discharge) ...

  2. React项目中使用hot-react-loader

    在构建react项目时,默认使用的webpack-dev-serve有热刷新功能,但是局限是修改一处会使整个页面刷新 当引入了react-hot-loader时,可以实现局部刷新,即同个页面上,某一处 ...

  3. windows之电脑开机出现 this product is covered by one or more of the following prtents

    电脑开机出现 this product is covered by one or more of the following prtents 有次意外断电后就每次都出现这个提示,然后要等检查完才能进入 ...

  4. 201903<<高效15法则>>

    高效15法则,这本书作为时间管理的入门书籍,易读易理解,结构清晰,但是中间的某些篇幅内容过于拖沓....

  5. linux目录详细列表

    详细列表 目录 说明 备注 bin 存放普通用户可执行的指令 即使在单用户模式下也能够执行处理 boot 开机引导目录 包括Linux内核文件与开机所需要的文件 dev 设备目录 所有的硬件设备及周边 ...

  6. github爬虫100项目

    为了更好的巩固所学,在github上开始100爬虫项目,记录学习过程,也希望对他人的学习有帮助,目前还在持续更新中,有兴趣可以看看 地址: https://github.com/mapyJJJ/100 ...

  7. Django框架详细介绍---cookie、session、自定义分页

    1.cookie 在HTTP协议介绍中提到,该协议是无状态的,也就是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不会直接影响后面的 ...

  8. 跟我一起学python(1)

    1.变量 定义一个变量  会有三个特征  id,type,value print(id(age),type(age),age) 命名推荐用下划线方式 (尽量用英文  不要过长  意思要明白) numb ...

  9. java基础语法-内部类与匿名内部类

    1.成员内部类(声明在类内部&&方法之外) class Person{ String name = "韩梅梅"; int age; class Bird{ Stri ...

  10. mac系统如何处理来自身份不明的开发者

    打开终端(终端在 应用程序 -> 实用工具 内) sudo spctl --master-disable