声明:本文主要根据八斗学院孙国宇老师的Hadoop大数据实战手册进行的整理,仅限入门学习!

第一章 hadoop简介

Hadoop 是一个由 Apache 基金会所开发的 开源分布式系统基础架构。用户可以在不了解分布式底层细节的情况下, 开发分布式程序,充分利用集群的威力进行高速运算和存储。解决了大数据(大到一台计算机无法进行存储,一台计算机无法在要求的时间内进行处理)的可靠存储和处理。适合处理非结构化数据,包括 HDFS,MapReduce 基本组件。

1. Hadoop 版本衍化历史

由于Hadoop版本混乱多变对初级用户造成一定困扰,所以对其版本衍化历史有个大概了解,有助于在实践过程中选择合适的 Hadoop 版本。Apache Hadoop 版本 分为 分为1.0 和2.0 两代 版本,我们将第一代Hadoop称为Hadoop1.0,第二代 Hadoop 称为 Hadoop 2.0。下图是 Apache Hadoop 的版本衍化史:
第一代 Hadoop  包含三个大版本,分别是 0.20.x, ,0.21.x 和 和 0.22.x,其中,0.20.x 最后演化成 1.0.x,变成了稳定版。第二代 Hadoop  包含两个版本,分别是 0.23.x 和 和 2.x,它们完全不同于 Hadoop 1.0,是一套全新的架构,均包含 HDFS Federation 和 YARN 两个系统,相比于 0.23.x,2.x 增加了NameNode HA 和 Wire-compatibility 两个重大特性。
Hadoop 遵从 Apache 开源协议,用户可以免费地任意使用和修改 Hadoop,也正因此,市面上出现了很多Hadoop版本,其中比较出名的一是Cloudera公司的发行版,该版本称为CDH(Cloudera Distribution Hadoop)。
截至目前为止,CDH 共有 4 个版本,其中,前两个已经不再更新,最近的两个,分别是CDH3 (在 Apache Hadoop 0.20.2版本基础上演化而来的)和 CDH4在 Apache Hadoop 2.0.0版本基础上演化而来的),分别对应 Apache 的 Hadoop 1.0 和 Hadoop 2.0。

2. Hadoop的生态圈

架构师和开发人员通常会使用一种软件工具,用于其特定的用途软件开发。例如,他们可能会说,Tomcat 是 Apache Web 服务器,MySQL 是一个数据库工具。然而,当提到 Hadoop 的时候,事情变得有点复杂。Hadoop 包括大量的工具,用来协同工作。因此,Hadoop 可用于完成许多事情,以至于,人们常常根据他们使用的方式来定义它。对于一些人来说,Hadoop 是一个数据管理系统。他们认为Hadoop是数据分析的核心,汇集了结构化和非结构化的数据,这些数据分布在传统的企业数据栈的每一层。对于其他人,Hadoop是一个大规模并行处理框架,拥有超级计算能力,定位于推动企业级应用的执行。还有一些人认为Hadoop作为一个开源社区,主要为解决大数据的问题提供工具和软件。因为 Hadoop 可以用来解决很多问题,所以很多人认为 Hadoop 是一个基本框架。
虽然 Hadoop提供了这么多的功能,但是仍然应该把它归类为多个组件组成的Hadoop生 态圈,这些组件包括数据存储、数据集成、数据处理和其它进行数据分析的专门工具。
该图主要列举了生态圈内部主要的一些组件,从底部开始进行介绍:
1)  HDFS:Hadoop 生态圈的基本组成部分是 Hadoop 分布式文件系统(HDFS)。HDFS 是一种数据分布式保存机制,数据被保存在计算机集群上。数据写入一次,读取多次。HDFS为 HBase 等工具提供了基础。
2)  MapReduce:Hadoop 的主要执行框架是 MapReduce,它是一个分布式、并行处理的编程模型。MapReduce 把任务分为 map(映射)阶段和 reduce(化简)。开发人员使用存储在HDFS 中数据(可实现快速存储),编写 Hadoop 的 MapReduce 任务。由于 MapReduce工作原理的特性, Hadoop 能以并行的方式访问数据,从而实现快速访问数据。
3)  Hbase:HBase 是一个建立在 HDFS 之上,面向列的 NoSQL 数据库,用于快速读/写大量数据。HBase 使用 Zookeeper 进行管理,确保所有组件都正常运行。
4)  ZooKeeper:用于 Hadoop 的分布式协调服务。Hadoop 的许多组件依赖于 Zookeeper,它运行在计算机集群上面,用于管理 Hadoop 操作。
5)  Hive:Hive 类似于 SQL 高级语言,用于运行存储在 Hadoop 上的查询语句,Hive 让不熟悉 MapReduce 开发人员也能编写数据查询语句,然后这些语句被翻译为Hadoop 上面的 MapReduce 任务。像 Pig一样,Hive 作为一个抽象层工具,吸引了很多熟悉 SQL 而不是 Java 编程的数据分析师。
6)  Pig:是 MapReduce 编程的复杂性的抽象。Pig平台包括运行环境和用于分析 Hadoop数据集的脚本语言(Pig Latin)。其编译器将 Pig Latin 翻译成 MapReduce 程序序列。
7)  Sqoop:是一个连接工具,用于在关系数据库、数据仓库和Hadoop之间转移数据。Sqoop利用数据库技术描述架构,进行数据的导入/导出;利用MapReduce实现并行化运行和容错技术。

大数据入门-基础篇01-hadoop框架简介相关推荐

  1. 大数据入门基础系列之初步认识大数据生态系统圈(博主推荐)

    不多说,直接上干货! 之前在微信公众平台里写过 大数据入门基础系列之初步认识hadoop生态系统圈 http://mp.weixin.qq.com/s/KE09U5AbFnEdwht44FGrOA 大 ...

  2. 大数据入门 - 基础概念

    文章目录 1. 发展历史 2. 分布式系统 可靠性 可扩展性 可维护性 4. 单机引擎的问题 事务 写入和存储 数据的序列化 3. GFS(Google File System) master 的快速 ...

  3. 大数据入门基础教程系列

    所谓大数据(Big Data),就是需要处理的数据量非常巨大,已经达到了 TB.PB 甚至 EB.ZB 级别,需要成千上万块硬盘才能存储.传统的技术手段在大数据面前不堪一击,只能探索一套新的解决方案. ...

  4. hive load data外部表报错_从0开始学大数据-Hive基础篇

    Hive起源于Facebook,是基于 Hadoop HDFS 分布式文件系统的分布式 数据仓库 架构.它为数据仓库的管理提供了许多功能:数据ETL(抽取.转换和加载)工具.数据存储管理和大型数据集的 ...

  5. 大数据入门基础:SSH介绍

    什么是ssh 简单说,SSH是一种网络协议,用于计算机之间的加密登录. 如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露. ...

  6. 大数据热门职业薪酬榜 Hadoop人才居首

    文章讲的是大数据热门职业薪酬榜 Hadoop人才居首,随着越来越多企业开始投身于大数据技术的革新洪流,对于IT专业人士的市场需求也水涨船高.时至今日,具备收集.整理.分析以及构建不同来源数据技能的人才 ...

  7. 【硬刚大数据之面试篇】2021年从零到大数据专家面试篇之Hbase篇

    欢迎关注博客主页:https://blog.csdn.net/u013411339 欢迎点赞.收藏.留言 ,欢迎留言交流! 本文由[王知无]原创,首发于 CSDN博客! 本文首发CSDN论坛,未经过官 ...

  8. 大数据入门(八)win10下的wordcount

    目录 方法一 上传文件到hdfs java project 方法二 参考 有两种方法:方法一需要借用eclipse自己编写代码,优点是有助于理解mapreduce,缺点复杂.方法二可以直接调用Hado ...

  9. 学习大数据的第46天(Hadoop篇)——Hadoop框架的认识以及基础命令的认识

    学习大数据的第46天(Hadoop篇)--Hadoop框架的认识以及基础命令的认识 Hadoop的学习笔记 大数据的特点: 大量.高速.多样化 概述: Hadoop是一个适合海量数据的分布式存储和分布 ...

最新文章

  1. ISME:林科院袁志林等-冷杉优势真菌共生发育的基因家族趋同演化及平衡选择机制...
  2. pthread_cond pthread_mutex
  3. JAVA NIO之文件通道
  4. 设置virgo-tomcat-server的JVM内存
  5. Jquery事件、冒泡、委托与节点
  6. Asp服务器控件(HyperLink、Button) 绑定后台参数 DataBinder.Eval
  7. Java环境配置出现的问题及解决办法
  8. 【运维安全】-HTTP协议
  9. 樱花漫地集于我心,蝶舞纷飞祈愿相随---总结 适者:survival of the fittest 适者:survival of the fittest...
  10. 瑞利信道建模 matlab程序原理到实现
  11. android mp4 画面裁剪,说说Android的视频裁剪(三)
  12. 第 22 章 动态属性和特性
  13. 如何取悦自己或者增加自己幸福感的方式
  14. JSON风格指南-真经
  15. 嵌入式RTOS的 任务栈 和 系统栈
  16. 实车、台架功能测试介绍
  17. python做网站开发_如何用Python做网站开发
  18. 英语语法---限定词详解
  19. C#插件开发简单模型
  20. 华为宣布鸿蒙OS开源

热门文章

  1. 三年级竖式计算机应用题,小学三年级数学上册脱式计算、竖式计算、应用题
  2. java开发高端说法_扣丁学堂教你如何成为JavaEE高端开发人才
  3. 变频器主要功率元器件损耗分析
  4. WorkNC导光条编程加工
  5. 作为程序员最好掌握的英语词汇
  6. 云职教课堂计算机文化基础,智慧职教云课堂西铁院《计算机文化基础》弹性学制网课答案...
  7. 中国联通短信如何 对接
  8. 清华大学计算机学院公开课,清华大学公开课
  9. 阿尔茨海默病神经影像学计划的最新出版物:改进的AD临床试验的进展综述
  10. 切换IE浏览器代理开关.bat