【Hadoop学习】中:HDFS

2021/10/30 23:40:06

本文主要是介绍【Hadoop学习】中:HDFS,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、概述

1、背景、定义、使用场景(一次写入、不支持修改)

2、优(容错)缺点(延迟、不支持小文件、不支持修改)

3、组成架构

NameNode:Master,管理命名空间、配置策略

DataNode:slave,执行数据读写操作

Client:使用命令访问和交互

SecondNameNode:辅助分担namenode的工作量、恢复namenode

4、HDFS文件块大小

分块存储,默认128M(寻址时间为传输时间的1%),块大小取决于磁盘传输速率

二、HDFS的shell操作

1、基本语法:bin/hadoop fs 或 bin/hadoop dfs

2、常见操作:

启动集群(sbin/start-dfs  /  yarn.sh)

上传文件:hadoop fs  -moveFromLocal  ./kongming.txt  /sanguo/shuguo【剪切、复制】

追加到文件:hadoop fs -appendToFile liubei.txt /sanguo/shuguo/kongming.txt

下载:合并下载hadoop fs -getmerge /user/atguigu/test/* ./zaiyiqi.txt

3、hdfs直接操作

hadoop fs -mkdir

-chgrp 、-chmod、-chown、-tail显示末尾、-du统计信息、-setrep设置副本数量

三、HDFS客户端操作

1、客户端创建目录:fs.mkdirs(new Path("/1108/daxian/banzhang"));

2、API操作

文件上传:设置路径参数的优先级

文件下载:fs.copyToLocalFile

文件夹删除:fs.delete

文件名更改:fs.rename

获取文件详情:fs.listFiles

判断文件/文件夹:fs.listStatus

四、HDFS的数据流

1、写数据

向NameNode请求上传

通过packet逐级应答客户端

依次上传每个block的数据

节点距离:两个节点到达最近的共同祖先的距离总和。

2、读数据

向NameNode请求下载

查询元数据,获得对应的DataNode

packet方式传输数据给客户端

五、NameNode和Second NameNode

1、1 NN和2NN的工作机制

创建Fsimage和Edits文件

NameNode节点断电,就会产生数据丢失

添加元数据时,修改内存中的元数据并追加到Edits

2、oiv和oev命令可以查看Fsimage和Edits文件

3、2NN的CheckPoint时间设置

4、NameNode故障处理

六、DataNode

1、工作机制

2、数据完整性

3、掉线时限参数设置

4、服役新数据节点

5、退役旧数据节点

6、Datanode多目录配置



这篇关于【Hadoop学习】中:HDFS的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程