一、Hadoop是什么

  1)Hadoop是一个由Apache基金会所开发的分布式系统基础架构。

  2)Hadoop主要解决,海量数据的存储和海量数据的分析计算问题。

  3)广义上来说,Hadoop通常是指一个更广泛的概念-Hadoop生态圈。

二、Hadoop发展历史

  1)Lucene框架是Doug Cutting开创的开源软件,用Java书写代码,实现与Google类似的全文搜索功能,它提供了全文检索引擎的架构,包括完整的查询引擎和索引引擎。

  2)2001年年底Lucene称为Apache基金会的一个子项目。

  3)对于海量数据的场景,Lucene面对与Google同样的困难,存储数据困难,检索速度满。

  4)学习和模仿Google解决这些问题的办法:微型版Nutch。

  5)可以说Google是Hadoop的思想之源(Google在大数据方面的三篇论文)

    GFS --> HDFS

    Map-Reduce --> MR

    BigTable --> HBase

  6)2003-2004年,Google公开了部分GFS和MapReduce思想的细节,以此为基础Doug Cutting等人用了2年业余时间实现了DFS和MapReduce机制,使Nutch性能飙升。

  7)2005年Hadoop作为Lucene的子项目 Nutch的一部分正式引入Apache基金会。

  8)2006年3月份,Map-Reduce和Nutch Distributed File System(NDFS)分别被纳入到Hadoop项目中,Hadoop就此正式诞生,标志着大数据时代来临。

三、Hadoop的发行版本

  Hadoop三大发行版本:Apache、Cloudera、Hortonworks。

1、Apache Hadoop

  Apache版本最原始(最基础)的版本,对于入门学习最好。

  官方地址:http://hadoop.apache.org/releases.html

2、Cloudera Hadoop 

  Cloudera在大型互联网企业中用的较多。

  官方地址:https://www.cloudera.com/downloads/cdh/5-10-0.html

  1)2008年成立的Cloudera是最早将Hadoop商用的公司,为合作伙伴提供Hadoop的商用解决方案,主要是包括支持、咨询服务、培训。

  2)2009年Hadoop的创始人Doug Cutting也加盟Cloudera公司。Cloudera产品主要为CDH,Cloudera Manager,Cloudera Support

  3)CDH是Cloudera的Hadoop发行版,完全开源,比Apache Hadoop在兼容性,安全性,稳定性上有所增强。

  4)Cloudera Manager是集群的软件分发及管理监控平台,可以在几个小时内部署好一个Hadoop集群,并对集群的节点及服务进行实时监控,Cloudera Support即是对Hadoop的技术支持。

  5)Cloudera的标价为每年每个节点4000美元,Cloudera开发并贡献了可实时处理大数据的Impala项目。

3、Hortonworks Hadoop

  Hortonworks文档较好。

  官方地址:https://hortonworks.com/products/data-center/hdp

  1)2011年成立的Hortonworks是雅虎与硅谷风投公司Benchmark Capital 合资组建。

  2)公司成立之初就吸纳了大约25名至30名专门研究Hadoop的雅虎工程师,上述工程师均在2005年开始协助雅虎开发Hadoop,贡献了Hadoop 80%的代码。

  3)雅虎工程师副总裁、雅虎Hadoop开发团队负责人Eric Baldeschwieler出任Hortonworks的首席执行官。

  4)Hortonworks的主打产品是Hotonworks Data Platform(HDP),也同样是100%开源的产品,HDP除常见的项目外还包括了Ambari,一款开源的安装和管理系统。

  5)HCatalog,一个元数据管理系统,HCatalog现已继承到Facebook开源的Hive中。Hortonworks的Stinger开创性的极大的优化了Hive项目,Hortonworks为入门提供了一个非常好的,易于使用的沙盒。

  6)Hortonworks开发了很多增强特性并提交至核心主干,这使得Apache Hadoop能够在包括Window Server 和 Windows Azure在内的Microsoft Windows平台上本地运行,定价以集群为基础,每10个节点每年12500美元。

四、Hadoop的优势(4高)

1、高可靠性

  Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。

2、高扩展性

  在集群见分配任务数据,可方便的扩展数以千计的节点。

3、高效性

  在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。

4、高容错性

  能够自动地将失败的任务重新分配。

五、Hadoop组成

1、Hadoop1.x 和 Hadoop2.x 区别

  

  在Hadoop1.x时代,Hadoop中的MapReduce同时处理业务逻辑运算和资源的调度,耦合性较大,在Hadoop2.x时代,增加了Yarn。Yarn只负责资源的调度,MapReduce只负责运算。

2、HDFS架构概述

  1)NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表和块所在的DataNode等。

  2)DataNode(dn):在本地系统存储文件块数据,以及块数据的校验和。

  3)Secondary NameNode(2nn):用来监控HDFS状态的辅助后台程序,每格一段时间获取HDFS元数据的快照。

3、MapReduce架构概述

  MapReduce将计算过程分为两个阶段:Map 和 Reduce。

  1)Map阶段并行处理输入数据

  2)Reduce阶段对Map结果进行汇总。

  

4、Yarn架构概述

  1)ResourceManager(RM)主要作用如下:

    a、处理客户端请求

    b、监控NodeManager

    c、启动或监控ApplicationMaster

    d、资源的分配与调度

  2)NodeManager(NM)主要作用如下:

    a、管理单个节点上的资源

    b、处理来自ResourceManager的命令

    c、处理来自ApplicationMaster的命令

  3)ApplicationMaster(AM)主要作用如下:

    a、负责数据的切分

    b、为应用程序申请资源并分配给内部的任务

    c、任务的监控与容错

  4)Container  

    Container是YARN中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等。

六、大数据技术生态体系

  

名词解释:

1)Sqoop:Sqoop是一款开源的工具,主要用于在Hadoop、Hive与传统的数据库(Mysql)间进行数据的传递,可以将一个关系型数据库(例如:Mysql,Oracle等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。

2)Flume:Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集,聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。

3)Kafka:Kafka是一种高吞吐量的分布式发布订阅消息系统,有如下特性:

  a、通过O(1)d的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。

  b、高吞吐量:即使是非常普通的硬件Kafka也可以支持每秒数百万的消息。

  c、支持通过Kafka服务器和消费机集群来分区消息。

  d、支持Hadoop并行数据加载。

4)Storm:Storm用于“连续计算”,对数据流做连续查询,在计算时就将结果以流的形式输出给用户。

5)Spark:Spark是当前最流行的开源大数据内存计算框架。可以基于Hadoop上存储的大数据进行计算。

6)Oozie:Oozie是一个管理Hadoop作业(Job)的工作流程调度管理系统。

7)Hbase:HBase是一个分布式的、面向列的开源数据库,HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。

8)Hive:Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行,其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

9)R语言:R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开发的软件,它是一个用于统计计算和统计制图的优秀工具。

10)Mahout:Apache Mahout是个可扩展的机器学习和数据挖掘的库。

11)ZooKeeper:Zookeeper是Google的Chubby一个开源的实现。它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。Zookeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

Hadoop入门的更多相关文章

  1. Hadoop入门学习笔记---part4

    紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操 ...

  2. Hadoop入门学习笔记---part3

    2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ...

  3. Hadoop入门学习笔记---part2

    在<Hadoop入门学习笔记---part1>中感觉自己虽然总结的比较详细,但是始终感觉有点凌乱.不够系统化,不够简洁.经过自己的推敲和总结,现在在此处概括性的总结一下,认为在准备搭建ha ...

  4. Hadoop入门学习笔记---part1

    随着毕业设计的进行,大学四年正式进入尾声.任你玩四年的大学的最后一次作业最后在激烈的选题中尘埃落定.无论选择了怎样的选题,无论最后的结果是怎样的,对于大学里面的这最后一份作业,也希望自己能够尽心尽力, ...

  5. 初识Hadoop入门介绍

    初识hadoop入门介绍 Hadoop一直是我想学习的技术,正巧最近项目组要做电子商城,我就开始研究Hadoop,虽然最后鉴定Hadoop不适用我们的项目,但是我会继续研究下去,技多不压身. < ...

  6. 大数据:Hadoop入门

    大数据:Hadoop入门 一:什么是大数据 什么是大数据: (1.)大数据是指在一定时间内无法用常规软件对其内容进行抓取,管理和处理的数据集合,简而言之就是数据量非常大,大到无法用常规工具进行处理,如 ...

  7. 一.hadoop入门须知

    目录: 1.hadoop入门须知 2.hadoop环境搭建 3.hadoop mapreduce之WordCount例子 4.idea本地调试hadoop程序 5.hadoop 从mysql中读取数据 ...

  8. Hadoop入门必须知道的简单知识

    Hadoop入门知识 Hadoop构成 Hadoop由4个主要构成部分: 1) 基础核心:提供基础的通用的功能 2) HDFS:分布式存储 3) MapReduce:分布式计算 4) YARN:资源分 ...

  9. Hadoop 入门教程

    Hadoop 入门教程 https://blog.csdn.net/kkkloveyou/article/details/52348883

  10. hadoop入门手册5:Hadoop【2.7.1】初级入门之命令:文件系统shell2

    问题导读 1.改变hdfs文件的权限,需要修改哪个配置文件?2.获取一个文件的或则目录的权限,哪个命令可以实现?3.哪个命令可以实现设置访问控制列表(ACL)的文件和目录? 接上篇:Hadoop[2. ...

随机推荐

  1. 【actitivi】配置运行上遇到的问题

    基础: 需要 问题1:对于activiti-admin,添加mysql-connector-java-5.1.47.jar后: Sun Apr 28 16:09:00 CST 2019 WARN: E ...

  2. 使用python写的一个代码统计程序

    # encoding="utf-8" """ 统计代码行数 """ import sys import os def c ...

  3. git上clone需要ssh时

    在命令行中输入ssh-keygen -t rsa -C "your_email@example.com" 然后使用编辑器打开id_rsa.pub文件,复制里面的ssh

  4. 搭建apache本地服务器·Mac

    1. 打开终端,开启Apache: //开启apache: sudo apachectl start //重启apache: sudo apachectl restart //关闭apache: su ...

  5. asp.net 去掉小数点后面多余的0

    很多时候,比如gridview内,不想现实从数据库带出的多余小数 ,比如 4.01000. 那就可以做一个函数: /// <summary> /// 去掉小数点后多余的0, 0本身显示为0 ...

  6. 从网卡发送数据再谈TCP/IP协议—网络传输速度计算-网卡构造

    在<在深谈TCP/IP三步握手&四步挥手原理及衍生问题—长文解剖IP>里面提到 单个TCP包每次打包1448字节的数据进行发送(以太网Ethernet最大的数据帧是1518字节,以 ...

  7. 2018-2019-2 20165215《网络攻防技术》Exp6 信息搜集与漏洞扫描

    目录 实验目的 实验内容 基础知识 实验步骤 (一)各种搜索技巧的应用 Google Hacking 搜索网址目录结构 搜索特定类型的文件 路由侦查 (二)DNS IP注册信息的查询 whois域名注 ...

  8. mysql知识点汇总

    1. 数据库的安装 2. 数据库设计需要注意什么 3. SQL语句优化 4. 怎样处理慢查询? 5. 怎样更好的利用数据库索引? 6. 事务隔离级别有哪些?怎么实现的? 7. 数据库锁有哪些? 8. ...

  9. CCF CSP 201609-2 火车购票

    题目链接:http://118.190.20.162/view.page?gpid=T46 问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配. 假设一节车厢有20排.每一排 ...

  10. 利用multiprocessing.managers开发跨进程生产者消费者模型

    研究了下multiprocessing.managers,略有收获,随笔一篇: 核心思路是构造一个manager进程,这个进程可以通过unix socket或tcp socket与其它进程通信:因为利 ...