Hadoop介绍

  • 狭义上Hadoop指的是Apache软件基金会的一款开源软件

用java语言实现,开源

允许用户使用简单的编程模型实现跨机器集群对海量数据进行分布式计算处理

  • Hadoop核心组件

Hadoop HDFS(分布式文件存储系统):解决海量数据存储

Hadoop YARN(集群资源管理和任务调度框架):解决资源任务调度

Hadoop MapReduce(分布式计算框架):解决海量数据计算

  • 官网

http://hadoop.apache.org/

  • 广义上Hadoop指的是围绕Hadoop打造的大数据生态圈。

Hadoop发展历史

1)Hadoop创始人Doug Cutting,为了实现与Google类似的全文搜索功能,他在Lucene框架基础上进行优化升级,查询引擎和索引引擎。

Hadoop创始人Doug Cutting
2)2001年年底Lucene成为Apache基金会的一个子项目。
3)对于海量数据的场景,Lucene框架面对与Google同样的困难,存储海量数据困难,检索海量速度慢。
4)学习和模仿Google解决这些问题的办法:微型版Nutch。
5)可以说Google是Hadoop的思想之源(Google在大数据方面的三篇论文)

《The Google file system》:谷歌分布式文件系统GFS —>HDFS

《MapReduce: Simplified Data Processing on Large Clusters》:谷歌分布式计算框架MapReduce —>MR

《Bigtable: A Distributed Storage System for Structured Data》:谷歌结构化数据存储系统 —>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就此正式诞生,标志着大数据时代来临。
9)名字来源于Doug Cutting儿子的玩具大象

Hadoop的logo

Hadoop现状

  • HDFS作为分布式文件存储系统,处在生态圈的底层与核心地位

  • YARN作为分布式通用的集群资源管理系统和任务调度平台,支撑各种计算引擎运行,保证了Hadoop地位

  • MapReduce作为大数据生态圈第一代分布式计算引擎,由于自身设计的模型所产生的弊端,导致企业一线几乎不再直接使用MapReduce进行编程处理,但是很多软件的底层依然在使用MapReduce引擎来处理数据

Hadoop特性优点

Hadoop国外应用

  • Yahoo

    支持广告系统

    用户行为分析

    支持Web搜索

    反垃圾邮件系统

  • Facebook
    存储处理数据挖掘和日志统计
    构建基于Hadoop数据仓库平台(Apache Hive来自FB)

  • IBM
    蓝云基础设施构建
    商业化Hadoop发行、解决方案支持

Hadoop国内应用

  • 百度

用户搜索表征的需求数据、阿拉丁爬虫数据存储

数据分析和挖掘竞价排名

  • 阿里巴巴

为电子商务网络平台提供底层的基础计算和存储服务

交易数据、信用数据

  • 腾讯

用户关系数据

基于Hadoop、Hive构建TDW(腾讯分布式数据仓库)

  • 华为

    对Hadoop的HA方案,以及HBase领域有深入研究

Hadoop发行版本

  • Apache开源社区版本

http://hadoop.apache.org/

  • 商业发行版本

Cloudera:https://www.cloudera.com/products/open-source/apache-hadoop.html

Hortonworks :https://www.cloudera.com/products/hdp.html

  • 本课程中使用的是Apache版的Hadoop,版本号为:3.3.0

Hadoop架构变迁(1.0-2.0变迁)

  • Hadoop 1.0

HDFS(分布式文件存储)

MapReduce(资源管理和分布式数据处理)

  • Hadoop 2.0

HDFS(分布式文件存储)

MapReduce(分布式数据处理)

YARN(集群资源管理、任务调度)

Hadoop架构变迁(3.0新版本)

Hadoop 3.0架构组件和Hadoop 2.0类似,3.0着重于性能优化

  • 通用方面

精简内核、类路径隔离、shell脚本重构

  • Hadoop HDFS

EC纠删码、多NameNode支持

  • Hadoop MapReduce

任务本地化优化、内存参数自动推断

  • Hadoop YARN

Timeline Service V2、队列配置

Hadoop 优势(4 高)

1. 高可靠性

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

2. 高扩展性

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

3. 高效性

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

4. 高容错性

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

Hadoop 组成

  • Hadoop集群包括两个集群:HDFS集群、YARN集群

  • 两个集群逻辑上分离、通常物理上在一起

  • 两个集群都是标准的主从架构集群

1.HDFS 架构概述

Hadoop Distributed File System,简称 HDFS,是一个分布式文件系统。

HDFS架构概述

1. NameNode(nn)

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

2. DataNode(dn)

在本地文件系统存储文件块数据,以及块数据的校验和。

3. Secondary NameNode(2nn)()秘书,辅助nn

每隔一段时间对NameNode元数据备份。 备份nn数据,nn奔溃,恢复后中2nn获取数据

2. YARN 架构概述

Yet Another Resource Negotiator 简称 YARN ,另一种资源协调者,是 Hadoop 的资源管理器。

Hadoop集群 = HDFS集群 + YARN 集群

  • 逻辑上分离

两个集群互相之间没有依赖、互不影响

  • 物理上在一起某些角色进程往往部署在同一台物理服务器上

  • MapReduce集群呢?

MapReduce是计算框架、代码层面的组件没有集群之说

大数据技术生态体系

图中涉及的技术名词解释如下:

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

2)Flume:Flume 是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统, Flume 支持在日志系统中定制各类数据发送方,用于收集数据;

3 ) Kafka:Kafka 是一种高吞吐量的分布式发布订阅消息系统 ;

4)Spark:Spark 是当前最流行的开源大数据内存计算框架。可以基于 Hadoop 上存储的大数 据进行计算。
5)Flink:Flink 是当前最流行的开源大数据内存计算框架。用于实时计算的场景较多。
6)Oozie:Oozie 是一个管理 Hadoop 作业(job)的工作流程调度管理系统。
7)Hbase:HBase 是一个分布式的、面向列的开源数据库。HBase 不同于一般的关系数据库, 它是一个适合于非结构化数据存储的数据库。
8)Hive:Hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张 数据库表,并提供简单的 SQL 查询功能,可以将 SQL 语句转换为 MapReduce 任务进行运 行。其优点是学习成本低,可以通过类 SQL 语句快速实现简单的 MapReduce 统计,不必开 发专门的 MapReduce 应用,十分适合数据仓库的统计分析。
9)ZooKeeper:它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、 名字服务、分布式同步、组服务等。

大数据技术之 Hadoop概念讲解相关推荐

  1. 大数据技术之Hadoop(MapReduce)

    大数据技术之Hadoop(MapReduce) (作者:大数据研发部) 版本:V1.4 第1章MapReduce入门 map 计算 reduce 规约 1.1 MapReduce定义 Mapreduc ...

  2. 03大数据技术之Hadoop(HDFS)

    03大数据技术之Hadoop(HDFS)(老师:尚硅谷) 文章目录 03大数据技术之Hadoop(HDFS)(老师:尚硅谷) 第1章 HDFS概述 1.1 HDFS产出背景及定义 1.2 HDFS优缺 ...

  3. 大数据技术之Hadoop分布式文件系统HDFS系统知识整理(从入门到熟练操作)

    系列博客 1.大数据技术之Hadoop完全分布式集群搭建+Centos7配置连通外网和主机 2.大数据技术之Hadoop编译源码 3.大数据技术之Hadoop分布式文件系统HDFS系统知识整理(从入门 ...

  4. 大数据技术之Hadoop(入门)概述、运行环境搭建、运行模式

    文章目录 1 Hadoop 概述 1.1 Hadoop 是什么 1.2 Hadoop 优势 1.3 Hadoop 组成(面试重点) 1.3.1 HDFS 架构概述 1.3.2 YARN 架构概述 1. ...

  5. 大数据技术之Hadoop概述集群环境搭建常见错误解决等

    Hadoop概述 文章目录 Hadoop概述 1. Hadoop是什么 2. Hadoop发展历史 4. Hadoop的优势 5. Hadoop组成 6. 大数据技术生态体系 7. 推荐系统框架图略图 ...

  6. 大数据技术之Hadoop(快速入门)

    目录 第一章 Hadoop概述 1.1 什么是Hadoop 1.2  Hadoop 产生背景 Hadoop之父:Doug cutting 1.3  Hadoop 三大发行版本 Hadoop 三大发行版 ...

  7. 大数据技术之Hadoop

    目录 第一章       大数据概述 1.大数据概念 1.2.大数据特点 1.Volume(大量) 2.Velocity(高速) 3.Variety(多样) 4.Value(低价值密度) 1.3 大数 ...

  8. 二、大数据技术之Hadoop --从Hadoop框架讨论大数据生态

    目录 1.从Hadoop框架讨论大数据生态 1.1 Hadoop是什么 1.2 Hadoop发展历史 1.3 Hadoop三大发行版本 1.3.1 Apache Hadoop 1.3.2 Cloude ...

  9. 大数据技术之Hadoop(十一)——网站流量日志数据分析系统

    目录 素材: 一.模块开发--数据预处理 1.分析预处理的数据 2.实现数据的预处理 (1)创建Maven项目,添加相关依赖 (2)创建JavaBean对象,封装日志记录 (3)创建MapReduce ...

最新文章

  1. OS_CORE.C(1)
  2. MIT开源高性能自动微分框架Enzyme:速度提升4.5倍
  3. PAT (Advanced Level) 1002. A+B for Polynomials (25)
  4. Spring Boot定时任务-SpringBoot整合Quartz
  5. php 字符串 替换 最后,php如何替换字符串中的最后一个字符
  6. Zookeeper——一致性协议:Zab协议
  7. Linux 安装 MySQL 数据库
  8. ios下fixed回复框bug的解决方案
  9. [李景山php]每天TP5-20161205|Loader.php-3
  10. LCD 12864B V2.0的使用
  11. 五类、超五、六类、超六类网线
  12. Linux查看目录busy,Linux中遇到device is busy的处理方法
  13. NOI 2017 滚粗记
  14. P4556 雨天的尾巴 线段树合并
  15. 数据结构之树的相关名字解释
  16. 自激多谐振荡电路实验总结,小白电路测试
  17. linux升级失败无法启动应用程序,Ubuntu升级后无法启动 kernel panic - not syncing
  18. js中 ‘ ‘==0 为什么等于true?
  19. U盘、移动硬盘错误0x80071ac3!
  20. 计算机读不出相机磁盘,相机存储卡读不出来怎么办?相机存储卡无法读取

热门文章

  1. 电商十大暴利产品排名
  2. java操作PDF文件,可支持分页、合并、图片转PDF等
  3. xclarity服务器显示脱机怎么办,怎么解决服务器脱机问题
  4. tkinter: 滚动frame (通过canvas+scrollbar)
  5. mysql-java获取某日或当日0点到24点数据条件书写
  6. 关于Web安全趋势与核心防御机制
  7. 【BZOJ 1115】【POI 2009】石子游戏Kam
  8. mysql error 1126_install plugin group_replication ERROR 1126 (HY000)
  9. 心脏滴血漏洞复现(CVE-2014-0160)
  10. Python学习笔记(十):注释