Hadoop创建回收站+HDFS其它命令+HDFS主从架构+HDFS优缺点

目录

一、创建回收站

1、编辑配置文件  core-site.xml

2、重新启动集群进行测试

3、不经过回收站直接删除办法

二、HDFS一些其他命令

1、 hdfs --help

2、 hdfs  dfsadmin

3、hdfs  fsck 

4、hdfs  namenode

三、HDFS主从架构

1、一个名词:元数据 --  MetaData

  (1)定义

(2) 元数据存储的三种方式

2、NameNode(NN)名称节点

3、NameSecondary(2NN) 第二节点

4、 DataNode (DN)数据节点

5、  NameNode与NameSecondary 工作机制     1.x

(1)为什么要引进2NN

(2)NN工作机制

(3)  2NN工作机制(合并更新的流程)

(4)关于  CheckPoint

6、 NameNode高可靠  2.x~

四、HDFS优缺点

1、优点

(1)处理海量数据     

(2)适合批处理

(3)高容错

(4)可以构建在廉价机器上

2、 缺点

(1)小文件问题

 (2)不适合毫秒级(实时)

3、补充:关于小文件问题

五、思考题

1、了解机架


一、创建回收站

1、编辑配置文件  core-site.xml

添加内容如下

<property>
    <name>fs.trash.interval</name>
    <value>10080</value>
</property>

10080 代表 10080分钟 即7天 也就是回收站保存7天,7天后删除

2、重新启动集群进行测试

在hdfs上新建test1、test2文件夹

对test 进行删除操作,操作与显示如下:

[peizk@hadoop sbin]$ hdfs dfs -rm -r /test
2022-03-20 12:15:49,546 INFO fs.TrashPolicyDefault: Moved: 'hdfs://hadoop:9000/test' to trash at: hdfs://hadoop:9000/user/peizk/.Trash/Current/test

查看  回收站

[peizk@hadoop sbin]$ hdfs dfs -ls /user/peizk/.Trash/Current/
Found 1 items
drwxr-xr-x   - peizk supergroup          0 2022-03-20 12:13 /user/peizk/.Trash/Current/test

配置成功

3、不经过回收站直接删除办法

语句如下:

[peizk@hadoop sbin]$ hdfs dfs -rm -r -skipTrash /test3
Deleted /test3

此语句在生产中一般不允许使用

二、HDFS一些其他命令

1、 hdfs --help

查看hdfs 下命令

2、 hdfs  dfsadmin

查看安全模式是否开启

[peizk@hadoop sbin]$ hdfs dfsadmin -safemode get
Safe mode is OFF
[peizk@hadoop sbin]$ 

当安全模式关闭时,读和写都是可以的

当安全模式开启时,读可以,写不可以

一般进入安全模式有两种情况

   第一是:被动进入,说明HDFS集群有问题,一般是 集群磁盘空间不够了,此时进入相当于保护模式

   第二是:主动进入,一般是用于维护,保证这段时间HDFS不会有新数据/新文件写入。

3、hdfs  fsck 

用来查看数据块是否健康,获取文件的block信息和位置信息等

如下查看HDFS根目录

[peizk@hadoop sbin]$ hdfs fsck /
Connecting to namenode via http://hadoop:9870/fsck?ugi=peizk&path=%2F
FSCK started by peizk (auth:SIMPLE) from /10.0.12.8 for path / at Sun Mar 20 12:44:23 CST 2022

Status: HEALTHY
 Number of data-nodes:	1
 Number of racks:		1
 Total dirs:			9
 Total symlinks:		0

Replicated Blocks:
 Total size:	140 B
 Total files:	3
 Total blocks (validated):	2 (avg. block size 70 B)
 Minimally replicated blocks:	2 (100.0 %)
 Over-replicated blocks:	0 (0.0 %)
 Under-replicated blocks:	0 (0.0 %)
 Mis-replicated blocks:		0 (0.0 %)
 Default replication factor:	1
 Average block replication:	1.0
 Missing blocks:		0
 Corrupt blocks:		0
 Missing replicas:		0 (0.0 %)

Erasure Coded Block Groups:
 Total size:	0 B
 Total files:	0
 Total block groups (validated):	0
 Minimally erasure-coded block groups:	0
 Over-erasure-coded block groups:	0
 Under-erasure-coded block groups:	0
 Unsatisfactory placement block groups:	0
 Average block group size:	0.0
 Missing block groups:		0
 Corrupt block groups:		0
 Missing internal blocks:	0
FSCK ended at Sun Mar 20 12:44:23 CST 2022 in 7 milliseconds


The filesystem under path '/' is HEALTHY

4、hdfs  namenode

  格式化namenode命令如下

hdfs namenode -format  

三、HDFS主从架构

1、一个名词:元数据 --  MetaData

  (1)定义

是由NameNode来维护的包含文件的路径、副本数量、block块所在的服务器位置等信息

例如下

(2) 元数据存储的三种方式

  内存元数据:元数据放在内存中,方便快速读取

   fsimage :元数据镜像文件,内存中的元数据,序列化到磁盘中。存储某一时间段NameNode内存元数据信息。

  edits  :记录用户的一些操作日志、删除请求、上传请求等,可通过日志运算出元数据。

2、NameNode(NN)名称节点

存储的内容包括:

1、文件的名称

2、文件的目录结构

3、文件的属性(权限、副本数、创建时间等)

***4、一个文件被对应切割的哪些数据块(包括副本的数据块)》》对应分布在哪些DataNode,管理文件系统的命名空间,本质就是维护文件系统树的文件和文件夹。

NameNode 文件存放路径

[peizk@hadoop current]$ pwd
/home/peizk/tmp/dfs/name/current

存放的文件主要为:

     镜像文件:fsimage

    编辑日志文件:edits

3、NameSecondary(2NN) 第二节点

 NameSecondary 文件存放位置

[peizk@hadoop current]$ pwd
/home/peizk/tmp/dfs/namesecondary/current

4、 DataNode (DN)数据节点

DataNode  文件存放位置

/home/peizk/tmp/dfs/data/current/BP-2057196106-10.0.12.8-1647183603680/current/finalized/subdir0/subdir0

(1)存储数据块和数据块的元数据

  主要文件:块   一个块的 默认最大为128M

                    块的元数据

(2)每隔一段时间会发送blockreport(块报告)给NN

  dfs.blockreport.intervalMsec    21600000 =6H

   在给NN发送 blockreport(块报告)要检查自己

  dfs.datanode.directoryscan.interval   21600000 = 6H

注意:这两个参数值一定要一样

5、  NameNode与NameSecondary 工作机制     1.x

(1)为什么要引进2NN

如下图

(2)NN工作机制

    1、client 向NN提出上传请求,NN的Edits对上传请求进行记录并返回相对应的元数据信息给Client

    2、client 根据返回的相应元数据,去对应的DN上传数据,当数据上传完成后,DN向client返回相应的结果

   3、 client再将DN返回的结果,再返回给NN,然后NN在MD进行相应记录,并让2NN对fsimage进行相应的更新(合并edits和fsimage)

(3)  2NN工作机制(合并更新的流程)

 

(4)关于  CheckPoint

什么是checkpoint,就是2NN合并更新文件的触发时间

主要有两个 

1、是时间指定两次checkpoint的最大时间间隔

fs.checkpoint.period  默认是3600S

2、是针对edits文件的操作次数,比如每1000次上传请求触发一次

6、 NameNode高可靠  2.x~

为了解决脑裂引入Zookeeper

四、HDFS优缺点

1、优点

(1)处理海量数据     

        GB   TB   PB

(2)适合批处理

   移动计算而不是移动数据,会把数据位置暴露给计算框架

(3)高容错

数据自动保存N个副本,增加副本数,提高容错

某一个副本丢失,HDFS内部机制是可以自动恢复的

(4)可以构建在廉价机器上

2、 缺点

(1)小文件问题

   需要工程师去合并小文件

 (2)不适合毫秒级(实时)

3、补充:关于小文件问题

a:数据传输到HDFS之前,提前合并

b:数据已经到HDFS,在业务低谷期,去合并,至于如何合并,HAR,CombineFileInputFormat

五、思考题

1、了解机架

机架感知  以副本=3为例

首先在客户端所在机架挑出一台主机(有时也会根据容量等)进行副本存储,接着在同一机架,挑选另一台主机进行存储,最后再挑选不同机架的一个主机进行存储

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值