首页 >> 大全

Hadoop之HDFS基础概念(一)

2024-01-01 大全 21 作者:考证青年

HDFS是什么

1、HDFS是的一个存储子模块。

2、HDFS(全称 File ),即为的分布式文件系统

3、File :文件系统,操作系统用来存储和管理文件的软件。即对文件进行增删改查等事务操作。

4、当需要存储的数据过大,超过一个计算机的存储范围。HDFS就可以将文件分成N个Block快存储在不同的计算机上。管理通过网络跨多个计算机的文件系统即为分布式文件系统。

HDFS的优缺点 优点:

1、适合存储大文件,用来管理PB级大数据;

2、处理非结构化数据(一般来说,使用HDFS将非结构化数据结构化,然后进行计算和处理);

3、流的方式访问,适合一次写入,多次读取;

4、由于是集群,运行于廉价的服务器上,成本低;

5、高容错性:少量服务器出现问题,用户察觉小;

6、可扩展性;

缺点:

1、不适合处理低延尺数据访问

(1)、dfs在为了处理大量数据分析任务的,主要是为了达到高的数据吞吐而设计的。

(2)、为了处理低延迟的数据,后续会介绍HBase为更佳选择

2、不适合存储大量的文件

(1)、小文件会个的性能和扩展带来严重问题

(2)、可以利用、等方式递归小文件来解决

3、不支持多个用户同时写入及修改同一个文件

(1)、如果文件已经存在,则用户修改当前文件,只能追加

(2)、多个用户不能同时对同一个文件进行写操作,也不能随意修改文件的位置

HDFS命令介绍 HDFS命令的两种格式

hdfs dfs 开头
hadoop fs 开头

以下只用一个格式

1、查看子命令帮助信息,如ls子命令

hdfs dfs -help ls

2、查看hdfs中已经存在文件信息

hdfs dfs -ls /  # 需要加根目录

3、创建hdfs文件

hdfs dfs -touchz /hadoop.txt # 需要目录路径

4、向hdfs文件中追加内容

hdfs dfs -appendToFile local.txt /hdfs.txt # 将本地文件追加到hdfs中的hdfs.ext文件

5、查看hdfs文件内容

_概念基础的心得_概念基础理论教材

hdfs dfs -cat /edits.txt

6、本地文件上传到hdfs上

hdfs dfs -put local.txt /    # 将本地文件上传到hdfs根目录下,本地资源不删除
hdfs dfs -copyFromLocal local.txt / # 和put一样效果
hdfs dfs -moveFromLocal local.txt / # 将本地文件上传到hdfs根目录下,本地资源删除

7、从hdfs下载文件到本地

hdfs dfs -get /test.txt /本地路径 # 如果本地路径不指定,则默认下载在当前路径
hdfs dfs -copyToLocal /test.txt /本地路径 # 和get用法一样

8、在hdfs创建目录

hdfs dfs -mkdir [-r] /parent # 加上-r表示创建多层目录

9、hdfs中删除文件/文件夹

hdfs dfs -rm /test.txt # 删除文件
hdfs dfs -rm [-r] /文件名 # 删除文件夹,加-r表示递归删除 

10、hdfs中修改文件名称(也可以用来移动文件)

hdfs dfs -mv /test1.txt /test.txt # 修改文件名
hdfs dfs -mv /test.txt /test # 将test.txt移动到test文件夹中

11、hdfs拷贝文件/文件夹

hdfs dfs -cp /text.txt /text
hdfs dfs -cp /text /text1

12、文件查找

hdfs dfs -find /查找路径 -name 文件名

下面是hdfs和结合使用

13、获取节点名称(可能有对个)

hdfs getconf -namenodes

14、获取hdfs最小块信息

hdfs getconf -confkey dfs.namenode.fs-limits.min-block-size

15、获取hdfs的的RPC地址

hdfs getconf -nnRpcAddresses

下面是hdfs与结合使用

16、查看当前模式

hdfs dfsadmin -safemode get

17、进入安全模式

hdfs dfsadmin -safemode enter

18、退出安全模式

hdfs dfsadmin -safemode leave

19、查看服务器机架信息

hdfs dfsadmin -printTopology

下面为hdfs与fsck结合使用

20、显示hdfs块信息

hdfs fsck /test.txt -files -blocks -locations

其他命令

21、查看压缩库本地安装情况

hadoop checknitive

22、初始化

hadoop namenode -format

23、执行自定义jar

hadoop jar jar名 主类 参数

24、查看压缩文件或者等文件

hdfs dfs -text /文件名

小技巧:如果在使用命令的时候不知道格式可以使用

hdfs dfs -help 命令

来查看用法,或者直接回车会自动显示使用方式

block块 block块

1、向hdfs上次文件时,hdfs上文件存储是分成N个block快存储在集群中不同的中

2、每个block快在默认的情况下,大小为128M

3、在HDFS中,一个不足的128M大小的block块,占用的磁盘存储也只有实际的大小,而不是128M

block副本

1、hdfs在设计的时候,为了保证数据的可用及容错,每个block共有三分,即副本

2、每个副本都是存储在不用中

3、使用配置文件hdfs-site.xml设置副本数

dfs.replication3

block存储图

机架感知

在现实生产中,往往会有很多服务器,会有很多机房,很多机架

在不同的机上block分布规律:

1、第一个block副本会存储在客户端链接的上

2、第二个会存储在与第一个block副本物理距离最近的上

3、第三个会存储在第二个副本相同机架上不同的上

机架感知需要自己配置,详细见#

block一些其他操作 动态修改block副本数量

hdfs dfs -setrep -R 4 /path

使用hdfs fsck查看文件目录及block信息和位置

后面会持续更新

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了