一文带你了解大数据技术之hdfs

ZSYL ZSYL     2022-12-31     493

关键词:

1. HDFS 产出背景及定义

1)HDFS 产生背景

随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统

HDFS 只是分布式文件管理系统中的一种。

2)HDFS 定义

HDFS(Hadoop Distributed File System),它是一个文件系统,用于存储文件,通过目录树来定位文件;其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。

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

2. HDFS 优缺点

优点:

1)高容错性

  • 数据自动保存多个副本。它通过增加副本的形式,提高容错性。
  • 某一个副本丢失以后,它可以自动恢复。


2)适合处理大数据

  • 数据规模:能够处理数据规模达到GB、TB、甚至PB级别的数据;
  • 文件规模:能够处理百万规模以上的文件数量,数量相当之大。

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

缺点:

1)不适合低延时数据访问,比如毫秒级的存储数据,是做不到的。

2)无法高效的对大量小文件进行存储。

  • 存储大量小文件的话,它会占用NameNode大量的内存来存储文件目录和块信息。这样是不可取的,因为NameNode的内存总是有限的;

  • 小文件存储的寻址时间会超过读取时间,它违反了HDFS的设计目标。

3)不支持并发写入、文件随机修改。

  • 一个文件只能有一个写,不允许多个线程同时写;
  • 仅支持数据append(追加),不支持文件的随机修改。

3. HDFS 组成架构

1)NameNode(nn):就是Master,它是一个主管、管理者。

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

2)DataNode:就是Slave。NameNode下达命令,DataNode执行实际的操作。

  • (1)存储实际的数据块;
  • (2)执行数据块的读/写操作。

3)Client:就是客户端。

  • (1)文件切分。文件上传HDFS的时候,Client将文件切分成一个一个的Block,然后进行上传;
  • (2)与NameNode交互,获取文件的位置信息;
  • (3)与DataNode交互,读取或者写入数据;
  • (4)Client提供一些命令来管理HDFS,比如NameNode格式化;
  • (5)Client可以通过一些命令来访问HDFS,比如对HDFS增删查改操作;

4)Secondary NameNode:并非NameNode的热备。当NameNode挂掉的时候,它并不能马上替换NameNode并提供服务。

  • (1)辅助NameNode,分担其工作量,比如定期合并Fsimage和Edits,并推送给NameNode ;
  • (2)在紧急情况下,可辅助恢复NameNode。

4. HDFS 文件块大小

面试重点

HDFS中的文件在物理上是分块存储(Block),块的大小可以通过配置参数( dfs.blocksize)来规定,默认大小在Hadoop2.x/3.x版本中是128M,1.x版本中是64M。


思考:为什么块的大小不能设置太小,也不能设置太大?

(1)HDFS的块设置太小,会增加寻址时间,程序一直在找块的开始位置;

(2)如果块设置的太大,从磁盘传输数据的时间会明显大于定位这个块开始位置所需的时间。导致程序在处理这块数据时,会非常慢。

总结:HDFS块的大小设置主要取决于磁盘传输速率。

加油!

感谢!

努力!

一文带你了解大数据技术之mapreduce

MapReduce概述1.MapReduce定义2.MapReduce优缺点2.1优点2.2缺点3.MapReduce核心思想4.MapReduce进程5.官方WordCount源码6.常用数据序列化类型7.MapReduce编程规范8.WordCount案例实操1.MapReduce定义MapReduce是一个分布式运算程序的编程框架,是用户开... 查看详情

一文带你了解大数据技术之zookeeper(入门级)(代码片段)

大数据技术之Zookeeper入门1.Zookeeper概述2.Zookeeper特点3.数据结构4.应用场景5.下载地址1.Zookeeper概述Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。Zookeeper的工作机制:2.Zookeeper特点3.数据结构4.应用... 查看详情

一文带你了解大数据技术之hadoop(yarn)(代码片段)

Yarn资源调度器1.Yarn基础架构2.Yarn工作机制3.作业提交全过程4.Yarn调度器和调度算法4.1先进先出调度器(FIFO)4.2容量调度器(CapacityScheduler)4.3公平调度器(FairScheduler)5.Yarn常用命令5.1yarnapplication查看任务5.... 查看详情

一文带你快速初步了解云计算与大数据

目录🔍一、云计算基础1、云计算的概念、特点、关键技术2、云计算的分类3、云计算的部署模式4、云计算的服务模式:IaaS、PaaS、SaaS分别是什么,具体含义要清楚5、物联网的概念6、物联网和云计算、大数据的关系7... 查看详情

熬夜之作:一文带你了解cat分布式监控(代码片段)

Cat是什么?CAT(CentralApplicationTracking)是基于Java开发的实时应用监控平台,包括实时应用监控,业务监控。CAT作为服务端项目基础组件,提供了Java,C/C++,Node.js,Python,Go等多语言客户端,已经在美团点评的基础架构中间件框架(MVC... 查看详情

一文带你了解java8之stream(代码片段)

Java8Stream流式编程简介Java8中stream是用于对集合迭代器的增强,使之能供完成更高效的聚合操作(例如过滤、排序、统计分组等)或者大批量数据操作。此外,stream与lambda表达式结合后编码效率将会大大提高,并且可以提... 查看详情

一文带你了解2018年最流行的前端技术

2018年即将过半,前端开发这个行业又进一个台阶了。找来一个现代前端技术图谱看看,真是吓尿了——宝宝心里苦啊!点图片看大图 仔细想想,这要是全学会了还得了,也太不切实际了。还是来看看现在流行的是有哪些东... 查看详情

一文带你了解激光雷达重要指标及参数

博客转载自:https://www.leiphone.com/news/201801/oySuWNzftbNrWwpv.html雷锋网(公众号:雷锋网)按:本文作者SLAMTEC(思岚科技公号slamtec-sh)技术顾问,专注SLAM及相关传感器研发应用。激光雷达行业非常广阔,每个细分方向都可以大有所为。... 查看详情

大数据技术之hadoop(hdfs)

第1章HDFS概述1.1HDFS产出背景及定义 1.2HDFS优缺点 1.3HDFS组成架构 1.4HDFS文件块大小(面试重点) 第2章HDFS的Shell操作(开发重点)1.基本语法 bin/hadoopfs具体命令ORbin/hdfsdfs具体命令dfs是fs的实现类。2.命令大全 [[em... 查看详情

大数据存储技术了解

在大数据环境下使用海量的非结构化数据,所以我们常使用HDFS分布式文件系统和NoSQL数据库进行存储HDFS分布式文件系统HDFS特点:存储数据较大支持流式数据访问支持多硬件平台数据一致性高有效预防硬件失效支持移动计... 查看详情

一文带你了解hive详细介绍hive与传统数据库有什么区别?

...么是埋点?如何进行数据埋点?【超详细介绍】一文搞懂什么是数据仓库(DataWarehouse)数据仓库与数据库区别有哪些?什么是元数据?本期终于要给大家介绍Hive了,为此我还花了好几个小时的写了如何安装Hive的... 查看详情

大数据分析之技术框架整理

大数据离线部分HDFS1:HDFS的架构部分及工作原理NameNode:负责管理元素据,将信息保存在内存中DataNode:保存数据,以块的形式保存。启动后需要定时的向NameNode发送心跳,报告自身存储的块信息2:HDFS的上传过程3:HDFS的下载4:N... 查看详情

建议收藏大数据技术之hadoop(生产调优手册)(代码片段)

大数据技术之Hadoop(生产调优手册)1.HDFS—核心参数1.1NameNode内存生产配置1.2NameNode心跳并发配置1.3开启回收站配置2.HDFS—集群压测2.1测试HDFS写性能2.2测试HDFS读性能3.HDFS—多目录3.1NameNode多目录配置3.2DataNode多目录配置3.3... 查看详情

大数据技术之hadoop(生产调优手册)(代码片段)

...FS—多目录3.1NameNode多目录配置3.2DataNode多目录配置3.3集群数据均衡之磁盘间数据均衡4HDFS—集群扩容及缩容4.1添加白名单4.2服役新服务器4.3服务器间数据均衡4.4黑名单退役服 查看详情

hdfs源码分析心跳汇报之数据块增量汇报(代码片段)

...《HDFS源码分析心跳汇报之BPServiceActor工作线程运行流程》一文中,我们详细了解了数据节点DataNode周期性发送心跳给名字节点NameNode的BPServiceActor工作线程,了解了它实现心跳的大体流程:    1、与NameNode握手: ... 查看详情

一文带你了解常见的数据指标都有哪些数据分析

为了进一步提升自己分析业务的能力,首先得先了解好在日常业务分析当中往往会用到那些数据指标。接下来我给大家整理了常见的一些数据指标,建议收藏后慢慢阅读。目录用户获取渠道到达量渠道转化率渠道ROI日应... 查看详情

大数据技术之hadoop(hdfs)概述shell操作api操作读写流程工作机制(代码片段)

文章目录1HDFS概述1.1HDFS产生背景及定义1.2HDFS优缺点1.3HDFS组成架构1.4HDFS文件块大小(面试重点)2HDFS的Shell操作(开发重点)2.1基本语法2.2命令大全2.3常用命令实操3HDFS的API操作3.1客户端环境准备3.2HDFS的API案例实操... 查看详情

一文带你简单了解wi-fidirect

什么是Wi-FiDirectWi-FiDirect即Wi-Fi直连技术,是指允许无线网络中的设备无需通过无线路由器即可相互连接,与蓝牙技术类似,这种标准允许无线设备以点对点形式互连,而且在传输速度与传输距离方面则比蓝牙有大... 查看详情