Skip to main content

moregeek program

hdfs细节-多极客编程

DFS架构图

HDFS细节_HDFS

知识点

1.HDFS Hadoop Distributed File System  Hadoop的分布式文件系统,可以存储海量数据(文件,图片,影音等),实际工作中,一般存储的都是用户的访问日志(.txt)

2.HDFS之所以能够存储海量数据,原因是一个可扩展的分布式架构,硬盘存储空间不够,加服务器即可。

3.HDFS是基于Google的一篇论文《Google File System》

4.namenode,名字节点。最主要的职责是管理和存储HDFS的元数据信息(比如文件名,文件大小,文件切块的数量,每个文件块的大小,文件块编号,存储在哪个datanode上),可以通过指令:

hadoop  fsck  /park01/1.txt  -files  -blocks -locations

5.namenode不存储文件块

6.namenode除了存储元数据信息以外,还会通过RPC心跳机制来管理各个datanode

7.namenode会把元数据信息放在namenode服务器的内存里,目的是供用户快速查询。

8.namenode为了确保元数据存储的可靠性,会将元数据落地,存储的目录路径有core-site.xml里的hadoop.tmp.dir来指定的。

注意:此属性默认是放在linux的 /tmp 目录,所以在工作中一定要更换此目录。

9.namenode底层是通过两个文件来进行元数据管理:

①Edits文件 当客户端发起写请求时,Edits文件都会进行记录

写请求,比如:-mkdir  -put  -mv

②Fsimage文件 存储元数据信息的

以上这个两个文件会定期做一次合并,合并的目的是确保Fsimage文件里的数据是最新的。合并周期默认是3600s(1小时)

10.以上这个两个文件可以在配置的元数据目tmp/dfs/name/current找到

11.格式化指令:hadoop namenode -format

它的作用是在元数据目录生成新的Edits和Fsimage文件。

这个指令 在初次Hadoop时需要执行一次。

12.格式化指令很危险,因为它会清空之前所有的元数据。所以在实际工作,初次使用完之后,会通过配置文件的使得这个指令失效。

13.Edits和Fsimage文件可以通过指令手动合并:hadoop dfsadmin -rollEdits

14.为了当namenode宕机后,SNN能够工作,我们需要SNN具有元数据数据,

所以Hadoop底层机制是让SNN来做元数据的合并工作,通过这机制使得NN和SNN都有元数据信息了。

注意:以上这个机制存在一个问题,就是可能会造成元数据丢失

比如:

3:00  Edits和Fsimage 合并一次

3:30  namenode 宕机了

相当于丢失了30分钟之内的元数据信息。

这个机制是Hadoop1.0的机制,是存在问题的,即SNN合并不能达到实时热备,所以会元数据丢失,即Hadoop1.0的namenode还是会存在单点故障问题。

HDFS细节_HDFS_02

15.下图是Hadoop2.0 集群的架构图。

Hadoop2.0如果伪分布式模式,会看到SNN,但实际没有作用

Hadoop2.0如果是完全分布式,就没有SNN进程了

HDFS细节_HDFS_03

16.可以指令单独启停某个进程:

启动:

hadoop-daemon.sh start namenode

hadoop-daemon.sh start datanode

hadoop-daemon.sh start secondarynamenode

停止:

hadoop-daemon.sh stop namenode

此外,掌握:start-dfs.sh  启动和HDFS相关的所有进程

17.当namenode挂掉再次启动时,底层会将Edits和Fsimage合并一次。

3:10 namenode 宕机

即3:00 ~3:10会产生一些操作记录,

所以通过这种机制,可以确保namenode宕机再启动之后,Fsimage是最新的

18.当整个HDFS启动(namenode和datanode)时,底层每台datanode都会向namenode汇报自身的存储状态信息(存储了哪些文件块),namenode收到这写数据后,汇总并检查。检查文件块是否缺少,数据是否丢失,以及每个文件块的副本数量是否达到要求(集群环境,3副本),如果检查有问题,HDFS会进入安全模式,在安全模式下,要完成数据的修复、副本的复制。安全模式直到数据恢复完毕之后自动退出

19.如果HDFS处于安全模式,对外只能提供读服务,不能提供写服务。

可以通过指令:

hadoop dfsadmin -safemode enter

hadoop dfsadmin -safemode leave

20.如果是伪分布式模式,在hdfs-site.xml 配置副本数量,只能配置1,因为如果大于1,会使得HDFS一直安全模式而不退出(因为副本数量一直满足不了要求,就一台服务器,只能存一个副本)

21.datanode,数据节点,专门用来存储和管理文件块。

22.datanode会定期向namenode发送心跳,心跳周期默认是3s

23.配置datanode地址列表是在slaves配置文件里配置的

24.HDFS存储文件的方式是切块存储,

Hadoop 1.0  切块大小64MB

Hadoop 2.0  切块大小128MB

比如:上传来个文件①1.txt 257MB  ②2.txt 100MB ,并设定副本数=1

①1.txt  1块:128MB  2块:128MB  3块:1MB

②2.txt  1块:100MB

综上,共4个文件块。

强调:切块是以文件为单位的,不同文件的文件块不能共用。

块是多大,在磁盘上就占多大。比如1MB文件块就占1MB,不会浪费127MB的磁盘空间的。

25.HDFS的特点:当文件上传HDFS之后,就不允许修改此文件。所以HDFS的适用场景:once-write-many-read  (一次写入,多次读取)

26.HDFS不允许修改数据,但允许追加数据

27.HDFS是否适合存储海量的小文件(比如几kb,几mb)?

不适合,因为每个文件都会占用一条元数据信息,根据经验,一条元数据大约在150字节,即如果由海量小文件时,会占用大量的namenode服务内存空间。

©著作权归作者所有:来自51CTO博客作者執孒の掱,與的原创作品,请联系作者获取转载授权,否则将追究法律责任

hadoop--hdfs特点-多极客编程

1,分布式存储团叶槲蕨,支持海量数据存储。(GB、TB、PB级别数据)2,高容错性,数据拥有多个副本(副本冗余机制)。副本丢失后,自动恢复。3,低成本部署,hadoop可在廉价的服务器上4,能够检测和快速应对硬件故障,通过RPC心跳机制来实现5,简化的一致性模型,这里指的是用户在使用HDFS时,所有关于文件相关的操作,如文件切块、块的复制、块的存储等细节并不需要去关注,所有的工作都已被框架封装完毕

工业数据分析为什么要用fusioninsight mrs iotdb?-多极客编程

摘要:MRS IoTDB,它是华为FusionInsight MRS大数据套件中的时序数据库产品,在深度参与Apache IoTDB社区开源版的基础上推出的高性能企业级时序数据库产品。本文分享自华为云社区《​​工业数据分析为什么要用FusionInsight MRS IoTDB?​​》,作者:高深广 。随着工业互联网逐步兴起,在加速工业自动化、智能化的同时,也进一步加速工业生产时间序列数据的产生速

海量监控数据处理如何做,看华为云sre案例分享-多极客编程

摘要:openGemini的设计和优化都是根据时序数据特点而来,在面对海量运维监控数据处理需求时,openGemini显然更加有针对性。IT运维诞生于最早的信息化时代。在信息化时代,企业的信息化系统,主要为了满足企业内部管理的需求。通常是集中、可控和固化的烟囱式架构。传统IT运维,以人力运维为主,在单点式和烟囱式的架构中,的确起到了非常重要的作用。我们知道,传统运维模式关注的是单台IT设备的故障率

hdfs特点:-多极客编程

1,分布式存储团叶槲蕨,支持海量数据存储。(GB、TB、PB级别数据)2,高容错性,数据拥有多个副本(副本冗余机制)。副本丢失后,自动恢复。3,低成本部署,hadoop可在廉价的服务器上4,能够检测和快速应对硬件故障,通过RPC心跳机制来实现5,简化的一致性模型,这里指的是用户在使用HDFS时,所有关于文件相关的操作,如文件切块、块的复制、块的存储等细节并不需要去关注,所有的工作都已被框架封装完毕

hdfs的常用指令-多极客编程

 指令说明hadoop fs -mkdir /park01在hdfs根目录下创建文件夹park01hadoop fs -ls /查看hdfs根目录下有哪些目录或文件hadoop fs -put /root/1.txt /park01将linux操作系统root目录下的1.txt放在hdfs的park01目录下hadoop fs -get /park01/jdk /home把hdfs文件系统下par

hadoop中mapreduce配置-多极客编程

一,配置mapred-site.xml进入以入目录[root@hadoop01 hadoop]# cd /home/software/hadoop-2.7.1/etc/hadoop复制mapred-site.xml示例文件[root@hadoop01 hadoop]# cp mapred-site.xml.template mapred-site.xml修改mapred-site.xml,增加如下

hadoop--hdfs特点-多极客编程

1,分布式存储团叶槲蕨,支持海量数据存储。(GB、TB、PB级别数据)2,高容错性,数据拥有多个副本(副本冗余机制)。副本丢失后,自动恢复。3,低成本部署,hadoop可在廉价的服务器上4,能够检测和快速应对硬件故障,通过RPC心跳机制来实现5,简化的一致性模型,这里指的是用户在使用HDFS时,所有关于文件相关的操作,如文件切块、块的复制、块的存储等细节并不需要去关注,所有的工作都已被框架封装完毕

工业数据分析为什么要用fusioninsight mrs iotdb?-多极客编程

摘要:MRS IoTDB,它是华为FusionInsight MRS大数据套件中的时序数据库产品,在深度参与Apache IoTDB社区开源版的基础上推出的高性能企业级时序数据库产品。本文分享自华为云社区《​​工业数据分析为什么要用FusionInsight MRS IoTDB?​​》,作者:高深广 。随着工业互联网逐步兴起,在加速工业自动化、智能化的同时,也进一步加速工业生产时间序列数据的产生速

zookeeper的应用场景-多极客编程

1、数据发布与订阅(配置中心)数据发布/订阅系统,即配置中心。需要发布者将数据发布到Zookeeper的节点上,供订阅者进行数据订阅,进而达到动态获取数据的目的,实现配置信息的集中式管理和数据的动态更新(可以把我们知道RPC的注册中心看成是此场景的应用)。发布/订阅一般有两种设计模式:推模式和拉模式,服务端主动将数据更新发送给所有订阅的客户端称为推模式;客户端主动请求获取最新数据称为拉模式,Zoo

hdfs特点:-多极客编程

1,分布式存储团叶槲蕨,支持海量数据存储。(GB、TB、PB级别数据)2,高容错性,数据拥有多个副本(副本冗余机制)。副本丢失后,自动恢复。3,低成本部署,hadoop可在廉价的服务器上4,能够检测和快速应对硬件故障,通过RPC心跳机制来实现5,简化的一致性模型,这里指的是用户在使用HDFS时,所有关于文件相关的操作,如文件切块、块的复制、块的存储等细节并不需要去关注,所有的工作都已被框架封装完毕

hdfs的常用指令-多极客编程

 指令说明hadoop fs -mkdir /park01在hdfs根目录下创建文件夹park01hadoop fs -ls /查看hdfs根目录下有哪些目录或文件hadoop fs -put /root/1.txt /park01将linux操作系统root目录下的1.txt放在hdfs的park01目录下hadoop fs -get /park01/jdk /home把hdfs文件系统下par

hadoop中mapreduce配置-多极客编程

一,配置mapred-site.xml进入以入目录[root@hadoop01 hadoop]# cd /home/software/hadoop-2.7.1/etc/hadoop复制mapred-site.xml示例文件[root@hadoop01 hadoop]# cp mapred-site.xml.template mapred-site.xml修改mapred-site.xml,增加如下