Hadoop(一)

Hadoop是Apache基金会的开源软件框架,用于分布式存储和处理大规模数据集。它由HDFS、MapReduce和YARN等核心组件构成,支持海量数据的存储、计算和资源管理。Hadoop还扩展了如Hive、HBase、ZooKeeper等工具,形成了丰富的生态系统。
摘要由CSDN通过智能技术生成

1.介绍

HADOOP是apache旗下的一套开源软件平台

HADOOP提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理

HADOOP的核心组件有 :  HDFS(分布式文件系统)    YARN(运算资源调度系统) MAPREDUCE(分布式运算编程框架)

2.产生背景

  HADOOP最早起源于Nutch。Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页抓取、索引、查询等功能,但随着抓取网页数量的增加,遇到了严重的可扩展性问题——如何解决数十亿网页的存储和索引问题。

2003年、2004年谷歌发表的两篇论文为该问题提供了可行的解决方案。

——分布式文件系统(GFS),可用于处理海量网页的存储

——分布式计算框架MAPREDUCE,可用于处理海量网页的索引计算问题。

Nutch的开发人员完成了相应的开源实现HDFS和MAPREDUCE,并从Nutch中剥离成为独立项目HADOOP,到2008年1月,HADOOP成为Apache顶级项目,迎来了它的快速发展期。

3.hadoop生态圈以及各组成部分

重点组件:

HDFS:分布式文件系统

MAPREDUCE:分布式运算程序开发框架

HIVE:基于大数据技术(文件系统+运算框架)的SQL数据仓库工具

HBASE:基于HADOOP的分布式海量数据库

ZOOKEEPER:分布式协调服务基础组件

Mahout:基于mapreduce/spark/flink等分布式运算框架的机器学习算法库

Oozie:工作流调度框架

Sqoop:数据导入导出工具

Flume:日志数据采集框架

4.分布式系统三大组件的总结

4.1.解决海量数据的存储问题(分布式文件系统hdfs)

具有分布式的集群结构,我们把实际存储数据的节点叫做datanode.

具有一个统一对外提供咨询,存储搜索的机器节点,对外跟客户端统一打交道,对内跟实际存储数据的节点打交道

具有备份的机制 解决了机器挂掉时数据丢失的问题

具有统一的API,对客户端来说不用操心你集群内部的部署,只要调用你的API就可以进行对文件的读取,存储,甚至是搜索,

4.2.解决分布式数据计算(处理)问题(分布式的编程模型Mapreduce)

思想:分而治之 先局部 再总体 map映射,reduce聚合

整体上作为一个编程模型,需要给用户提供一个友好的 便捷的使用规范

比如:你要继承什么东西 配置什么 怎么去调用 怎么去执行

继承我们的一个mapper类去实现自己的业务逻辑,继承我们的一个reduce实现自己的业务逻辑,最好可以提供

可供用户进行相关配置的类 或者是配置文件

作为一个分布式计算框架 最好还可以提供一个程序的总管(MrAppmaster) 用来管理这种分布式计算框架的内部问题:启动 斜街 等

4.3.解决分布式系统的资源管理问题(分布式资源管理)

为了更好的管理我们集群的资源,最好设计成分布式的架构,

需要有一个统一对外提供服务的节点(某一机器 或者机器上的一个进程 一个服务) 叫做资源管理者 ResourceManager

需要在集群中的每台机器上有一个角色,用来进行每台机器资源的管理,汇报,叫做节点管理者nodemanager

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值