Hadoop简介(一)

Hadoop组成#

Hadoop有两个主要部分:

数据处理框架(MapReduce)

分布式数据存储文件系统(HDFS)

特点#

适合的场景:

1. 大文件存储(TB,甚至PB)

2. 一次写,多次读(写入的数据无法进行更改,只在文件尾部添加数据)

3. 硬件要求低(适合多台廉价服务器搭建)

不适合的场景:

1. 低延时数据访问

2. 太多的小文件

3. 多次改写

原理#

1. 一个大文件被划分成多个大小固定的文件块,分布的存储在集群的节点中(便于横向扩展容量)

2. 同一个文件块在不同的节点中有多个副本(防止某个节点文件错误、丢失;加速计算)

3. 有一个集中的地方保存文件的分块信息

HDFS#

HDFS(Hadoop Distributed File System),即Hadoop分布式文件系统。

在HDFS中,namenode是总节点,用于保存文件的分块信息,负责管理多个datanode。namenode有两个:active-namenode和standby-namenode,这两个节点以主从方式工作,当active-namenode出现问题时,standby-namenode会替代active-namenode。

HDFS架构图:

从上图中我们可以看出,client要访问HDFS中的文件,首先需要向namenode询问文件的分块信息,然后再到具体的datanode中去访问。

一些概念#

Block:一个文件分块,默认为64M

Namenode:保存整个文件系统的目录信息,文件信息以及文件响应的分块信息。

Datanode:用于存储Blocks

HDFS的HA策略:NameNode一旦宕机,整个文件系统将无法工作。如果NameNode中的数据丢失,整个HDFS中的文件都丢失。2.x开始,HDFS支持NameNode的active-standby模式。

MapReduce

1.原理,以求和为例:

 

posted @   北岛知寒  阅读(393)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
历史上的今天:
2015-12-24 DP - 字符混编
2015-12-24 逆序对 - 归并排序求逆序对
点击右上角即可分享
微信分享提示
主题色彩