HDFS在Linux中操作命令
HDFS简介
1,HDFS概念:
分布式⽂件系统
(1)⽂件系统:存储⽂件,⽬录树定位⽂件 hdfs://master:9000/soft/hadoop-2.6.5-centos-6.
(2)分布式:服务器集,各个服务器都有各⾃清晰的⾓⾊定位
功能:解决海量数据的存储问题
2,设计思路
(1)分⽽治之
⼤⽂件切分成⼩⽂件,多台服务器共同管理⼀个⽂件
⼩⽂件做备份,分散存储到不同的服务器上,做到可靠性不丢失
(2)HDFS设计思想
3,HDFS架构
4,HDFS特点
优点:
(1)构建在廉价的机器上
linux命令查看文件夹大小a: 通过多副本提⾼可靠性
b: 提供了容错和恢复机制
(2)⾼容错性
a. 数据⾃动保存多个副本
b. 副本丢失后,⾃动恢复
(3)适合批处理
a. 移动计算⽽⾮移动数据
b. 数据位置暴露给计算框架
(4)适合⼤数据处理
a. 能够处理GB、 TB、甚⾄ PB 级数据
b. 能够处理百万规模以上的⽂件数量, 10K+节点规模
(5)流式⽂件访问
a. ⼀次性写⼊,多次读取。⽂件⼀旦写⼊,不能修改,只能追加
b. 保证数据⼀致性
缺点:
(1)不善于处理低延迟数据访问
a. ⽐如毫秒级的数据存储,它是做不到的
b. 适合⾼吞吐率的场景,就是在某⼀个时间写⼊⼤量的数据
(2)不善于处理⼩⽂件存取
a. 占⽤ NameNode ⼤量内存,NameNode 的内存是有限的
b. ⼩⽂件存储的寻道时间超过⽂件读取时间,这违背了 HDFS 的设计原则
(3)不⽀持并发写⼊、⽂件随机修改
a. ⼀个⽂件只能有⼀个写者
b. 仅⽀持⽂件的追加(append),不⽀持⽂件的随机修改
HDFS的shell(命令⾏客户端)操作
1,Hadoop集管理脚本
Hadoop 安装⽬录 bin ⽬录下的 hadoop 脚本是最基础的集管理脚本,⽤户可以通过该脚本完成各种功能,如 HDFS ⽂件管理、MapReduce 作业管理等。
使⽤⽅式:hadoop [–config confdir] COMMAND
<–config:是⽤于设置 Hadoop 配置⽂件⽬录,默认⽬录为 ${HADOOP_HOME}/etc/hadoop/>
2,HDFS 管理命令 fs
在集正常运⾏的前提下,使⽤如下⽅法,进⾏ Shell 操作:
[shiny@hadoop01 ~]$ hadoop fs
[shiny@hadoop01 ~]$ hadoop fs -help
展⽰的是 HDFS ⽀持的命令⾏参数:
注意:
开始使⽤命令前,必须启动 Hadoop。
以上指令均是在 Linux 命令⾏窗⼝界⾯操作。
[ ]表⽰可选参数,<>表⽰必须参数。
3,常⽤命令参数介绍
1,帮助:
hadoop fs -help
hadoop fs -help ls
1
2
3
2,HDFS上操作⽂件或⽂件夹
-ls 显⽰⽬录信息
hadoop fs -ls hdfs://hadoop01:9000/
Hadoop fs -ls /
-mkdir zaiHDFS上创建⽬录
hadoop fs -mkdir /abc <;单级创建》
hadoop fs -mkdir -p 123/as
-cp 从 HDFS 的⼀个路径复制到 HDFS 的另外⼀个路径
hadoop fs -cp /abc/** /123/abc
-mv 在 HDFS ⽬录中移动⽂件
hadoop fs -mv / /123/abc/
-rm 删除HDFS上的⽂件或者⽂件夹
hadoop fs -rm / <;删除HDFS上的⽂件>
hadoop fs -rm -r /123/as <;删除HDFS上的⽂件夹>
-rmdir 删除HDFS上的空⽬录
hadoop fs -rmdir /123
3,上传和下载⽂件
-put 等同于copyFromLocal,从本地上传⽂件到HDFS
hadoop fs -put hadoop-2.6.5
hadoop fs -copyFromLocal hadoop-2.6.5
-get 等同于copyToLocal,从HDFS下载⽂件到本地
hadoop fs -get hadoop1<⽂件路径> ./<;下载到的路径>
hadoop fs -copyToLocal / Desktop/data/<;重命名>
-moveFromLocal 从本地剪切⽂件到HDFS
hadoop fs -moveFromLocal /home/theone/Desktop/software/ /abc
-moveToLocal 从HDFS剪切⽂件到本地
hadoop fs -moveToLocal / /home/theone/Desktop/software/data/
<;命令⽆法实现,数据不能被修改>
-appendToFile 追加⼀个⽂件内容到已经存在的⽂件末尾
hadoop fs - /
-getmerge 合并下载多个⽂件
hadoop fs -getmerge /abc/*.txt ./
4,查看⽂本内容
-cat 显⽰⽂件内容
hadoop fs -cat /
-tail 显⽰⼀个⽂件最后1kb的内容
hadoop fs -tail /
-text 将 HDFS 中⽂件以⽂本形式输出(包括 gz 包、jar 包等形式)<⽤cat会乱码> hadoop fs -text /abc/hadoop-2.6.5
5,修改权限
-chmod 改变⽂件权限(命令的使⽤者必须是⽂件的所有者或者超级⽤户)
hadoop -chmod -R 600 /
-chown 改变⽂件的拥有者和所属组(命令的使⽤者必须是⽂件的所有者或者超级⽤户)hadoop -chown -R theone:theone /abc
6,统计 <## -h 以更易读的字节单位(K、M 等)显⽰信息>
-count 统计⼀个指定⽬录下的⽬录数、⽂件数和字节数。
hadoop fs -count -h /abc
-df 统计⽂件系统的可⽤空间信息
hadoop fs -df -h /abc
-du 统计⽂件夹的⼤⼩信息 <## -s 只统计参数所占⽤空间总的⼤⼩>
hadoop fs -du -h -s /abc
7,副本
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论