HDFS(一)----概述以及常用命令总结

----尚硅谷学习笔记整理

一、HDFS使用场景

适合一次写入、多次读出的场景,且不支持文件的修改,适合用来做数据分析。

二、HDFS的优缺点分析

      1、优点

  • 高容错性:数据自动保存多个副本,通过增加副本的形式,提高容错性;某一个副本丢失后,它可以自动恢复
  • 适合处理大数据:适合处理甚至PB级别的数据,百万规模以上的文件数量
  • 可构建在廉价机器上,多副本机制,提高可靠性

    2、缺点

  • 不适合低时延数据访问,比如毫秒级别的存储数据
  • 无法对大量小的文件进行存储:NameNode的内存优先,小文件存储的寻址时间会超过读取时间,违反了HDFS的设计目标
  • 不支持并发写入,文件随机修改,仅支持数据append追加

三、HDFS组成架构

    

1、Client :客户端 

1)文件切分、文件上传HDFS时,客户端将文件切分成一个一个block,然后进行上传

2)与namenode节点交互,获取文件的位置信息

3)与datanode节点交互,读取写入数据

4)提供一些命令管理hdfs,比如namenode格式化

5)访问hdfs,增删改查

2、NameNode:管理者

1)管理hdfs的名称空间

2)配置副本策略

3)管理block映射信息

4)处理客户端请求

3、DataNode:执行者

1)存储实际的数据块

2)执行数据块的读写操作

4、Secondary NameNode:非热备,辅助NameNode,分担其工作量,比如定期合并Fsimage和Edits,并推送给NameNode,紧急情况下可辅助恢复NameNode

四、HDFS文件块大小

大小设置主要取决于:磁盘传输速率

为什么不能设置过大或者过小?

1、HDFS的块设置太小,会增加寻址时间,程序一直在找块的开始位置

2、如果块设置的太大,从磁盘传输数据的时间会明显大于定位这个块开始的位置所需时间,导致程序处理这块数据很慢。

五、HDFS基本命令

1、启动hadoop集群

2、-help:输出命令参数

3、创建目录、查看目录

4、列出/user目录下的所有目录和文件

Hadoop  dfs  -ls  /user

5、列出/user目录及其子目录下的所有文件(谨慎使用)

hadoop dfs -ls -R /user

6、创建/soft目录

hadoop dfs -mkdir /soft

7、创建多级目录

hadoop dfs -mkdir -p /apps/windows/2017/01/01

8、将本地的wordcount.jar文件上传到/wordcount目录下

hadoop dfs -put wordcount.jar /wordcount

9、下载words.txt文件到本地

hadoop dfs -get /words.txt 

10、将/stu/students.txt文件拷贝到本地

hadoop dfs -copyToLocal /stu/students.txt

11、将word.txt文件拷贝到/wordcount/input/目录

hadoop dfs -copyFromLocal word.txt /wordcount/input 

12、将word.txt文件从本地移动到/wordcount/input/目录下

hadoop dfs -moveFromLocal word.txt /wordcount/input/

13、将/stu/students.txt拷贝一份为/stu/students.txt.bak

hadoop dfs -cp /stu/students.txt /stu/students.txt.bak 

14、将/flume/tailout/目录下的子目录或文件都拷贝到/logs目录(如果此目录不存在会创建)下

hadoop dfs -cp /flume/tailout/ /logs 

15、将/word.txt文件重命名为/words.txt

hadoop dfs -mv /word.txt /words.txt

16、将/words.txt文件移动到/wordcount/input/目录下

hadoop dfs -mv /words.txt /wordcount/input/

17、将/ws目录以及子目录和文件都删除(谨慎使用)

hadoop dfs -rm -r /ws 

18、删除以"xbs-"开头的目录及其子目录

hadoop dfs -rm -r /xbs-*

19、将/wordcount/output2/目录下的a.txt文件删除

hadoop dfs -rm /wordcount/output2/a.txt 

20、将/wordcount/input/目录下面的所有文件都删除

hadoop dfs -rm /wordcount/input/*

21、查看HDFS集群的磁盘空间使用情况

hadoop dfs -df -h 

22、查看/word.txt文件的内容

hadoop dfs -cat /word.txt 

23、将name.txt文件中的内容添加到/wordcount/input/words.txt文件中

hadoop dfs -appendToFile name.txt /wordcount/input/words.txt

24、动态查看/wordcount/input/words.txt文件的内容

hadoop dfs -tail -f /wordcount/input/words.txt

25、统计/flume目录总大小

hadoop dfs -du -s -h /flume

26、分别统计/flume目录下各个子目录(或文件)大小

hadoop dfs -du -s -h /flume/*

27、运行jar包中的程序

//hadoop jar + 要执行的jar包 + 要运行的类 + 输入目录 + 输出目录

hadoop jar wordcount.jar com.xuebusi.hadoop.mr.WordCountDriver /wordcount/input /wordcount/out

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值