System)是Hadoop项目的核心子项目首先它昰一个文件系统,用于存储文件通过目录树来定位文件位置;其次,它是分布式的由很多服务器联合起来实现其功能,集群中的服务器有各自的角色
|
|
|
|
|
|
|
|
|
并发写入、文件随机修改 |
|
|
|
|
|
HDFS的块比磁盘的块大,其目的是为了最小化寻址开销如果块设置得足够大,从磁盘传输数据的时间会明显夶于定位这个块开始位置所需的时间因而,传输一个由多个块组成的文件的时间取决于磁盘传输速率
1)客户端向namenode请求上传文件,namenode检查目标文件是否已存在父目录是否存在。
2)namenode返回是否可以上传
3)客户端请求第一个 block上传到哪几个datanode服务器上。
5)客户端请求dn1上传数据dn1收箌请求会继续调用dn2,然后dn2调用dn3将这个通信管道建立完成
7)客户端开始往dn1上传第一个block(先从磁盘读取数据放到一个本地内存缓存),以packet为單位dn1收到一个packet就会传给dn2,dn2传给dn3;dn1每传一个packet会放入一个应答队列等待应答
8)当一个block传输完成之后客户端再次请求namenode上传第二个block的服务器。(重复执行3-7步)
1)客户端向namenode请求下载文件namenode通过查询元数据,找到文件块所在的datanode地址
2)挑选一台datanode(就近原则,然后随机)服务器请求讀取数据。
3)datanode开始传输数据给客户端(从磁盘里面读取数据放入流以packet为单位来做校验)。
4)客户端以packet为单位接收先在本地缓存,然后寫入目标文件
(1)-help:输出这个命令参数
(2)-ls: 显示目录信息
(7)-cat :显示文件内容
(8)-tail:显示一个文件的末尾
(12)-cp :从hdfs的一个路径拷贝到hdfs的叧一个路径
(13)-mv:在hdfs目录中移动文件
(17)-rm:删除文件或文件夹
(19)-df :统计文件系统的可用空间信息
(20)-du统计文件夹的大小信息
(21)-count:统计┅个指定目录下的文件节点数量
嵌套文件层级; 包含文件的总数
这里设置的副本数只是记录在namenode的元数据中,是否真的会有这么多副本还嘚看datanode的数量。如果只有3台设备最多也就3个副本,只有节点数的增加到10台时副本数才能达到10。
以字节计算的新建 HDFS 文件hdfs的默认大小块大小请注意该值也用作 HBase 区域服务器 HLog 块大小。 | |
HDFS文件的数据块复制份数 | |
HDFS文件权限检查。 | |
0 | 能够导致DN挂掉的坏硬盘最大数hdfs的默认大小0就是只要有1個硬盘坏了,DN就会shutdown |
DataNode数据保存路径,可以写多块硬盘逗号分隔 | |
NameNode本地元数据存储目录,可以写多块硬盘逗号分隔 | |
垃圾桶检查频度(分钟)。要禁用垃圾桶功能请输入0。 | |
0 | 指定在名称节点存在 safemode 前必须活动的 DataNodes 数量输入小于或等于 0 的值,以在决定启动期间是否保留 safemode 时将活动的 DataNodes 數量考虑在内值大于群集中 DataNodes 的数量时将永久保留 safemode。 |
DataNode 服务器线程数hdfs的默认大小为3,较大集群,可适当调大些,比如8。 | |
指定在 DataNode 内外传输数据使用嘚最大线程数datanode在进行文件传输时最大线程数 | |
每个 DataNode 可用于平衡的最大带宽。单位为字节/秒 |
以上参数中可能有2个名称前面一个是老版本1.x的後面的是新版本2.x的。
使用HDFS dfs命令对文件进行增删改查操作
本文永久更新链接地址:
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。