大数据技术原理与应用 笔记 第2章 大数据处理架构Hadoop

大数据处理架构Hadoop

  • Hadoop发展历程
    • Hadoop起源
    • Hadoop特点
    • Hadoop应用现状
    • 不同版本
  • Hadoop项目结构
  • Hadoop集群的部署和使用
    • 集群硬件配置
      • HDFS
      • MapReduce

Hadoop发展历程

Hadoop是apache软件基本会旗下的开源分布式计算平台。

受欢迎的原因:
一是免费;
二是极大地降低了使用复杂度,屏蔽了所有的底层细节,提供了更高层的接口。

Hadoop支持多种语言:C++ Java Python

Hadoop的两大核心:
HDFS+MapReduce
HDFS分布式文件系统
MapReduce分布式并行编程框架
这两大核心解决了海量数据的分布式存储以及处理问题。

国内外很多企业都在使用hadoop。

Hadoop起源

大数据技术原理与应用 笔记 第2章 大数据处理架构Hadoop_第1张图片
大数据技术原理与应用 笔记 第2章 大数据处理架构Hadoop_第2张图片

Hadoop特点

  1. 具有很高的可靠性
    多台机器构成集群,部分机器发生故障,剩余机器可以继续对外提供服务。
  2. 具有很高的效率
    可以成百上千台机器一起计算
  3. 具有很好的可扩展性
    可以不断往集群中增加机器
  4. 高容错性
    一个副本有错误,还有别的副本。
  5. Hadoop成本低
    以前的高性能计算(High Performance Computing HPC)都是用很多台的小型机组成,成本高。Hadoop可以采用普通PC机来构成一个集群,这样成本就降低了。

Hadoop应用现状

在这里插入图片描述
大数据技术原理与应用 笔记 第2章 大数据处理架构Hadoop_第3张图片
不同的hadoop组件实现不同的功能。
使用HDFS满足企业中大量的分布式存储需求。

  • 离线分析:对数据进行批量处理,MapReduce(MR)很擅长。
  • 实时查询:Hbase
  • BI分析:Mahout

不同版本

不同版本的Hadoop功能差别蛮大的,要注意差别。
大数据技术原理与应用 笔记 第2章 大数据处理架构Hadoop_第4张图片
大数据技术原理与应用 笔记 第2章 大数据处理架构Hadoop_第5张图片
Hadoop2.0把资源调度抽出来了,叫yarn。
yarn就是控制资源调度的,给上层计算分配各种资源。这样mapreduce就只做数据处理工作,不做资源调度了。
yarn还可以支持其他的计算框架,比如流计算使用的计算框架storm,批处理计算使用的spark…

大数据技术原理与应用 笔记 第2章 大数据处理架构Hadoop_第6张图片
大数据技术原理与应用 笔记 第2章 大数据处理架构Hadoop_第7张图片
大数据技术原理与应用 笔记 第2章 大数据处理架构Hadoop_第8张图片
大数据技术原理与应用 笔记 第2章 大数据处理架构Hadoop_第9张图片
大数据技术原理与应用 笔记 第2章 大数据处理架构Hadoop_第10张图片
大数据技术原理与应用 笔记 第2章 大数据处理架构Hadoop_第11张图片
学生就用Apach了,因为它免费…
企业就可以考虑用更好的。

Hadoop项目结构

大数据技术原理与应用 笔记 第2章 大数据处理架构Hadoop_第12张图片
yarn:资源调度和调度器
MR:只支持离线计算,实时计算就不要用了
TEZ:运行在YARN之上的下一代hadoop查询处理框架,DAG(有向无环图)计算

Spark:类似于mapreduce的通用并行框架,spark是基于内存计算的,MR是基于磁盘计算的。MR要先将数据写入磁盘,处理后,再写入hdfs。s就是全程在内存进行,所以s的性能要比MR高一个数量级。所以现在很多企业在用s取代MR。

Hive:数据仓库,把大量的历史数据存在数据仓库中,进行各个维度的分析。数据仓库用于企业数据分析。hive是在hadoop集群上的数据仓库。
hive支持SQL,但是其实它是将SQL语句转成了mapreduce作业再去执行。

Pig:(轻量级的脚本语言)进行流数据处理,一个基于hadoop的大规模数据分析平台,提供类似SQL的查询语句Pig Latin。MR编程还是有些复杂,pig封装更好,更少的语句就能实现功能。

Oozie:hadoop上的工作流管理系统。一个工作可能要分成很多个环节,需要不同的程序配合完成,这个就需要工作流来定义。

Zookeeper:分布式协调服务,提供分布式协调一致性服务。hbase中有集群,集群中有很多的机器,zookeeper会选一台机器出来当其他机器的管家。
还可以作分布式锁 集群管理。

hbase:列族数据库,hadoop上的非关系型分布式数据库。

flume:日志收集分析框架,一个高可用的、高可靠的分布式的海量日志采集、聚合和传输系统。对流数据进行分析处理前,必须有个工具收集这些流数据,flume就是做这个日志流数据收集的。

sqoop:(ETL工具)用于在hadoop与传统数据库之间进行数据传递。关系型数据库与hadoop平台之间互导数据。

Ambari:hadoop快速部署工具,支持apach hadoop集群的供应、管理和监控。

Hadoop集群的部署和使用

集群硬件配置

HDFS

namenode:相当于目录服务器,业务来取数据的时候,首先访问namenode(名称节点),去获取我要的数据在哪些datanode(数据节点)上。
datanode:各个机器都作为数据节点。
SecondaryNameNode 冷备份:
大数据技术原理与应用 笔记 第2章 大数据处理架构Hadoop_第13张图片
热备份:一旦NameNode出问题,SecondaryNameNode马上顶上来。
而这里是冷备份,之后会将这里为什么是冷备份。

MapReduce

JobTracker:相当于一个作业管家,把一个大的作业拆成很多小作业,分发到不同机器上去执行,然后Jobtracker协调各个机器执行。
TaskTracker:不同的机器上都安装了tasktracker,它负责跟踪和执行分配到自己身上的小作业。

在集群中,大部分的机器都是datanode和tasktracker,而且datanode和tasktracker可以在同一台机器上。
大数据技术原理与应用 笔记 第2章 大数据处理架构Hadoop_第14张图片
大数据技术原理与应用 笔记 第2章 大数据处理架构Hadoop_第15张图片
大数据技术原理与应用 笔记 第2章 大数据处理架构Hadoop_第16张图片
大数据技术原理与应用 笔记 第2章 大数据处理架构Hadoop_第17张图片
大数据技术原理与应用 笔记 第2章 大数据处理架构Hadoop_第18张图片
大数据技术原理与应用 笔记 第2章 大数据处理架构Hadoop_第19张图片
大数据技术原理与应用 笔记 第2章 大数据处理架构Hadoop_第20张图片
大数据技术原理与应用 笔记 第2章 大数据处理架构Hadoop_第21张图片

你可能感兴趣的:(大数据开发)