Hadoop | HDFS学习笔记(一)HDFS优缺点、NN+DN+2NN组成架构、block文件块 | Shell操作 | HDFS常用命令汇总

本文介绍了Hadoop HDFS的背景、优缺点,详细阐述了其组成架构,包括NameNode、DataNode、SecondaryNameNode的角色,并讨论了文件块大小的设定。此外,还概述了HDFS的Shell操作,包括上传、下载和其他常用命令。
摘要由CSDN通过智能技术生成

参考资料


视频资料

一、HDFS 背景以及定义


背景: 数据量越来越大,操作系统存不了所有数据,需要能管理多台机器上的文件的系统,即分布式文件管理系统,HDFS就是其中的一种。

定义: HDFS,全称 Hadoop Distributed File System,是一个文件系统,通过 目录树 来定位文件,具有分布性,是由多个服务器联合起来实现的存储功能。

适用场景:一次写入,多次读出。 即一个文件经过创建、写入和关闭后就不需要改变的情况。

二、HDFS 优缺点


2.1 优点

  • 高容错性: 数据自动保存多个副本,可增加副本来提高容错性,某个副本丢失后,可自动恢复。

  • 适合处理大数据:(1)数据规模:能处理达到GB、TB甚至PB级别的数据;(2)能处理百万规模以上的文件数量。

  • 可构建在廉价机器上: 通过多副本机制,提高可靠性。

2.2 缺点

  • 不适合低延时数据访问,比如无法做到毫秒级存储数据。
  • 无法高效的对大量小文件进行存储。
    • 存储大量小文件时,会占用 NameNode节点大量的内存来存储文件目录和块信息。
    • 小文件存储的寻址时间会超过读读取时间,违反了HDFS设计理念。
  • 不支持并发写入、文件随机修改
    • 不允许多个线程对同一个文件进行写操作
    • 仅支持数据 append(追加),不允许文件的随机修改

三、HDFS组成架构


图片来自 Hadoop3.1.3 HDFS官方文档
在这里插入图片描述

3.1 NameNode(NN)

Master,是主管、管理者的身份

  1. 管理HDFS的名称空间
  2. 配置副本策略
  3. 管理数据块(Block)映射信息
  4. 处理客户端读写请求

3.2 DataNode (DN)

Slave,执行NameNode下达的命令

  1. 存储实际的数据块
  2. 执行数据块的读 / 写操作

3.3 Client

客户端,shell客户端或者web客户端

  1. 文件切分。文件上传到 HDFS 时, Client 将文件切分成一个一个的Block,然后上传
  2. 与 NameNode 交互,获取文件的位置信息
  3. 与 DataNode 交互,读取或者写入数据
  4. Client 提供一些命令来管理 HDFS,比如 NameNode 格式化
  5. Client 可以通过一些命令来访问 HDFS,比如对 HDF
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值