1.HDFS基础知识
2.HDFS操作
3.HDFS读写流程
hadoop操作指令 hadoop fs 支持操作多种文件系统 hadoop fs file:// 本地文件系统 hadoop fs gfs:// 谷歌文件系统 hadoop fs tfs:// 阿里文件系统 hadoop fs / 配置文件中设置,默认本地 hdfs dfs(老版本)等同于 hadoop fs(新版本) # 查看指定目录下信息 hadoop fs -ls [-h] [-R]-h 人性化显示 -R 递归显示 #创建文件夹 hadoop fs -mkdir [-p] -p 创建父目录 #上传文件 hadoop fs -put src dst 将单个 src 或多个 srcs 从本地文件系统复制到目标文件系统 #src代表的是本地目录 所谓的本地指的是客户端所在的机器 #dst代表的是HDFS -p:保留访问和修改时间,所有权和权限。 -f:覆盖目的地(如果已经存在) hadoop fs -put file:///root/itcast.txt hdfs://node1:8020/itcast hadoop fs -put itcast.txt /itcast #下载文件 hadoop fs -get src localdst #将文件复制到本地文件系统。 hadoop fs -get hdfs://node1:8020/itcast/itcast.txt file:///root/ hadoop fs -get /itcast/itcast.txt ./ (./表示当前目录) #追加内容到文件尾部 appendToFile 上传中合并 #(>>追加,>覆盖) [root@node3 ~]# echo 1 >> 1.txt [root@node3 ~]# echo 2 >> 2.txt [root@node3 ~]# echo 3 >> 3.txt [root@node3 ~]# hadoop fs -put 1.txt / [root@node3 ~]# hadoop fs -cat /1.txt 1 [root@node3 ~]# hadoop fs -appendToFile 2.txt 3.txt /1.txt [root@node3 ~]# hadoop fs -cat /1.txt 1 2 3 [root@node3 ~]# #追加的用途:把本地的小文件上传中合并成为大文件 解决小文件场景的。 #合并下载 getmerge #合并下载多个文件 其功能和appendToFile相反的动作 [root@node3 ~]# hadoop fs -mkdir /small [root@node3 ~]# hadoop fs -put *.txt /small [root@node3 ~]# hadoop fs -getmerge /small/* ./merge.txt [root@node3 ~]# cat merge.txt #文件内容的查看 cat 适合小文件 tail 将文件的最后一千字节内容显示到stdout -f参数支持实时追踪查看 #权限 拥有者 所属组修改 hdfs在设计的时候 借鉴模仿着linux权限管理模式 也有所谓的读写执行 user group others 777 chgrp 修改所属组 chmod 修改权限 cgown 修改拥有者 hadoop fs -chmod 755 /1.txt #文件移动 复制 删除 mv cp rm [-r]递归删除 #统计HDFS可用空间 指定目录大小 [root@node3 ~]# hadoop fs -df -h / Filesystem Size Used Available Use% hdfs://node1:8020 111.1 G 5.0 M 98.3 G 0% #统计内存 [root@node1 ~]# free -h total used free shared buff/cache available Mem: 3.7G 318M 3.2G 11M 171M 3.2G Swap: 3.9G 0B 3.9G #修改文件的副本数(慎用,修改的时候会影响性能) hadoop fs -setrep -w N(数字) -R N就是修改之后的副本数 -w wait等待 修改副本客户端是否等待修改完毕再推出 [root@node3 ~]# hadoop fs -setrep 2 /small/1.txt Replication 2 set: /small/1.txt [root@node3 ~]# hadoop fs -setrep -w 2 /small/2.txt Replication 2 set: /small/2.txt Waiting for /small/2.txt ... WARNING: the waiting time may be long for DECREASING the number of replications. . done #企业中避免使用setrep修改文件的副本数。 副本的修改操作可能会影响hdfs正常的读写服务请求。 因此在实际工作中 事先根据数据的重要性在上传之前就决定该文件的备份数是多少 避免线上修改。



