前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据技术入门:hdfs(分布式文件存储系统)

大数据技术入门:hdfs(分布式文件存储系统)

作者头像
百思不得小赵
发布2022-12-01 14:44:52
7200
发布2022-12-01 14:44:52
举报
文章被收录于专栏:小赵Java总结

大家好,我是百思不得小赵。

创作时间:2022 年 7 月 6 日 博客主页: 🔍点此进入博客主页 —— 新时代的农民工 🙊 —— 换一种思维逻辑去看待这个世界 👀


文章目录


一、概述

Hadoop分布式文件系统(HDFS)是指被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统(Distributed File System)。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS在最开始是作为Apache Nutch搜索引擎项目的基础架构而开发的。HDFS是Apache Hadoop Core项目的一部分。----------来源于百度百科。

HDFS核心特性

  • 硬件故障:故障的检测和自动快速恢复
  • 数据访问:适合批量处理的一次写入,到处读取,而不是用户交互式的随机读写
  • 大数据集:典型的HDFS文件大小是GB到TB的级别。所以,HDFS被设计成支持大文件。它应该提供很高的聚合数据带宽,一个集群中支持数百个节点,一个集群中还应该支持千万级别的文件。不适用大量小文件的存储。

二、HDFS架构

架构 1.0

  • DATANODE:负责文件数据的存储和读写操作,HDFS 将文件数据分割成若干数据块(Block),每个 DataNode存储一部分数据块,这样文件就分布存储在整个 HDFS 服务器集群中。
  • NameNode:负责整个分布式文件系统的元数据(MetaData)管理,也就是文件路径名、数据块的 ID以及存储位置等信息,相当于操作系统中文件分配表(FAT)的角色。

架构 2.0(高可用)

图上表述了一个集群大概的样子,有 3 个 DataNode(标准集群), 有两个 NameNode,一个是Active, 一个是 Standby, 每个 NameNode 节点都有开启 ZKFailoverController(简写ZKFC)守护进程,有3个JournalNode。

它是如何达到高可用呢? 1、首先,它有两个 NameNode,一个是 Active 的,一个是 Standby (备援状态)的,当 Active 宕机后,可以使用Standby的机器。 2、为了保证 Standby 的机器中,namespace和文件块与Active宕机之前一致,DataNode在向Active NameNode发送块的位置信息和“心跳”时,也要把这些信息发送给Standby NameNode,这样才能保证Standby中的文件块信息与Active NameNode中的数据一致。 3、为了保证 Standby NameNode 中的 namespace 与 Active NameNode 一致,Active NameNode 需要把所有对 namespace进 行的操作都要记录到 JournalNode. 4、作为Standby 的NameNode只要监控到JournalNode中namespace有更改日志,就合并到当前namespace,以保证 namespace 与 Active Namenode 一致。

三、HDFS 的运维

关键的配置文件

常见指令

代码语言:javascript
复制
命令格式:hdfs dfs [-operation] [option] [path_local] [path_hdfs]

安全模式

NN进程启动,此时NN正在从 fsimage 和 edits 日志文件加载系统信息(准确的说,应该是正在合并 fsimage 和 edits),并等待各 DN 上报各自数据块状态。然后 NN 自动进入安全模式检查数据块完整性。安全模式状态下的HDFS是不能执行写入操作,但可以执行读操作,检查结束并等到hadoop集群完成启动后退出安全模式。

副本率 = 实际副本数 除以 配置副本数,最低副本率可以在配置文件的 “dfs.namenode.safemode.threshold-pct” 配置项配置,表示当实际的副本率小于该值时,NN 就会自动在其他 DN 节点上复制副本。

启动安全模式:

代码语言:javascript
复制
hdfs dfsadmin -safemode enter

查看安全模式

代码语言:javascript
复制
hdfs dfsadmin -safemode get

关闭安全模式

代码语言:javascript
复制
hdfs dfsadmin -safemode leave
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-07-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、概述
  • 二、HDFS架构
  • 三、HDFS 的运维
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档