Hadoop介绍

时间:2023-05-17 13:41:02

是适合大数据的分布式存储与计算平台,用java编写的开源系统,能够安排在大规模的计算机平台上,从而长进计算效率;由 HDFS、MapReduce、HBase、Hive 和 ZooKeeper等成员组成。其中,HDFS 和 MapReduce 是两个最基础最重要的成员。

受到Google三片论文的启发

-- MapReduce GFS Bigtable

google 和      hadoop对比:

Mapreduce   Mapreduce(主要用来做数据分析,最大化利用CPU)

GFS   HDFS(分布式文件系统,最大化利用磁盘)

Bigtable Hbase(Nosql数据库,Key-Value存储,最大化利用内存)

Hadoop核心项目:

HDFS: Hadoop Distributed File SystemHadoop分布式文件系统

MapReduce:并行计算框架
HDFS的架构: 主从结构
主节点只有一个:namenode
从几点有多个: datanodes
namenode负责:
1,接收用户操作请求;
2,维护文件系统的目录结构;
3,管理文件与block之间关系,block与datanode之间关系;
datanode负责:
1,存储文件;
2,文件备份成block存储在磁盘上;
3,为保证数据安全,文件会有多个副本;
MapReduce的架构:主从目录
主节点只有一个 JobTracker
从节点有多个 TaskTrackers
JobTracker负责:
1,接收客户提交的计算机任务;
2,把计算任务分给TaskTrackers执行;
3,监控TaskTracker的执行情况;
TaskTrackers负责:
执行JobTracker分配的计算任务;

Hadoop的特点:
1,扩容能力:存储和处理大数据;
2,成本低:普通机器组成服务器集群;
3,高效率:在节点并行处理数据;
4,可靠性:自动维护副本,任务失败可以自动重新部署;
Distributed File System(DFS)分布式文件管理系统 :

1,数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统。

2,是一种允许文件通过网络在多台主机上分享的文件系统,可让多机器上的多用户分享文件和存储空间。
3,通透性。让实际上是通过网络来访问文件的动作,由程序与用户看来,就像是访问本地的磁盘一般。
4,容错。即使系统中有某些节点脱机,整体来说系统仍然可以持续运作而不会有数据损失。
5,分布式文件管理系统很多,hdfs只是其中一种。适用于一次写入多次查询的情况,不支持并发写情况,小文件不合适。

如何看待这张图?

我们学过的servlet、filter、listener等。这是javaweb的基础,重要性不言而喻。但是,实际工作中很少写这些东西,都是使用上层框架,如struts2做开发。

上图中的4、5就类似于servlet等,周边的框架类似于struts2。工作中更多的使用框架,但是hadoop也必须清楚。

Hadoop介绍

Google三篇论文中文版下载地址:http://www.kuaipan.cn/file/id_98175943000078006.htm?source=1