HDFS特点以及常用命令

HDFS优点

  • 高容错

  • 海量数据存储

  • 流式数据访问:一次写入,多次读取,不能修改,只能追加。能保证数据的一致性

  • 可构建在廉价的机器上
    缺点

  • 不适合低延时处理

  • 不能高效处理很多小文件

  • 如果存储大量小文件,会占用NameNode大量的内存来存储文件、目录和快信息,不可取,因为NameNode内存有限

  • 小文件的寻道时间会 超过读取时间,违反HDFS的设计原则

  • 一个文件只能有一个线程写,不能多个线程同时写

  • 只支持数据追加,不支持文件的随机修改
    HDFS架构

  • Client:(1) 文件切分。将文件切分成block (2) 与NameNode交互,获取文件的位置信息 (3) 与DataNode交互,读取或者写入数据 (4) 提供一些命令管理HDFS。(5) 通过一些命令访问HDFS

  • NameNode:(1) 管理命名空间 (2) 管理数据映射信息 (3) 配置副本策略 (4) 处理客户端读写请求

  • DataNode: NameNode下达命令,DataNode执行实际的操作 (1) 存储实际的数据 (2) 执行读写操作

  • Secondary NameNode:并非NameNode的热备。当NameNode挂掉的时候, 它并不能马上替换NameNode并提供服务。(1) 辅助NameNode,分担其工作量。(2) 定期合并fsimage和fsedits,并推送给NameNode (3)在紧急情况下,可辅助恢复NameNode。
    block大小

  • Hadoop2.x版本 改为 128M,老版本 64M。如果block设置太小的话,磁盘寻址是个很大的问题。实验表明,寻址时间为传输时间的 1%是最理想的状态。服务器磁盘的平均寻址时间约为10ms,传输速率为 100M/s,那么block 大小 = 10ms * 100 * 100M/s = 100M。 所以一般默认块大小设置为128M。

Hadoop命令

  • 基本语法 hadoop fs
  • 启动集群 start-dfs.sh start-yarn.sh
  • hadoop fs -help
  • hadoop fs -ls /user
  • hadoop fs -mkdir -p /aa/bb/cc
  • hadoop fs -moveFromLocal aa.txt /user 从本地剪切到hdfs
  • hadoop fs -copyFromLocal bb.txt / 从本地拷贝到系统
  • hadoop fs -put 上传,作用同上
  • hadoop fs -cat /aa.txt
  • hadoop fs -copyToLocal /aa.txt /opt 从系统拷贝到本地
  • hadoop fs -get /aa.txt /opt 作用同上
  • hadoop fs -appendToFile aa.txt /aa.txt 追加一个文件到已存在的文件的结尾
  • hadoop fs -tail /aa.txt 显示文件末尾
  • -chgrp 、-chmod、-chown:linux文件系统中的用法一样,修改文件所属权限
  • 在hdfs目录中移动文件 hadoop fs -mv
  • hadoop fs -rm 删除文件或目录
  • hadoop fs -rmdir 删除空目录
  • hadoop fs -df -h 统计文件系统的可用空间信息
  • hadoop fs -du -s -h /user 统计文件夹的大小信息
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值