一、hdfs概念及特性

概念

hdfs是一个分布式的文件存储系统,用于存储文件,通过统一的命名空间-目录树来定位文件

重要特性

  • hdfs中的文件在物理上是分块存储(block),块的大小可通过参数进行配置(dfs.blocksize)来规定,hadoop2.x默认大小是128M,老版本是64M
  • hdfs文件系统给客户端提供一个统一的抽象目录树,客户端通过路径访问文件,如:hdfs://namenode:port/dir/filename
  • hdfs是设计成适应一次写入,多次读取的场景,且不支持文件修改

二、hdfs的shell命令操作

date -s 集群内时间同步

查看hadoop版本 hadoop version
查看跟目录 hadoop fs -ls /
创建文件夹 hadoop fs -mkdir /a
创建多级文件夹 hadoop fs -mkdir -p /a/b
从本地剪切到hdfs hadoop fs -moveFromLocal /home/a.txt /a/b
从hdfs剪切到本地 hadoop fs -moveToLocal /a/b/a.txt /home
从本地拷贝到hdfs hadoop fs copyFromLocal /home/a.txt /a
从hdfs拷贝至本地 hadoop fs copyToLocal /a/a.txt /home
追加一个文件到已经存在文件的末尾 hadoop fs -appendToFile ./hello.txt /hello.txt
显示文件内容 hadoop fs -cat /hello.txt
显示一个文件的末尾 hadoop fs -tail /log/a.log
已字符形式打印一个文件内容 hadoop fs -text /log/a.log
权限操作 hadoop fs -chmod 666 /hello.txt (-chgrp -chown)
从hdfs的一个路径拷贝到另一个路径 hadoop fs -cp /a/a.txt /a/b/a.txt
从hdfs的一个路径移动到另一个路径 hadoop fs -mv /a/a.txt /a/b
从hdfs下载文件到本地 hadoop fs -get (等同于copyToLocal)
上传文件到hdfs hadoop fs -put(等同于copyFromLocal)
删除文件或文件夹 hadoop fs -rm -r
删除空目录 hadoop fs -rmdir /a/b
统计文件夹的大小信息 hadoop fs -du -s -h /a/*
统计一个指定目录下的文件节点数量 hadoop fs -count /a/
设置hdfs文件副本数量 hadoop fs -setrep 3 /a/a.txt
查看hdfs集群工作的状态 hdfs dfsadmin -report