HDFS - Shell命令
最近学习比较忙,本来想做一个搭建集群笔记,今天先记录HDFS-shell命令,明天,最迟明天下午我一定会做一个搭建集群的笔记。。
介绍一个我的集群搭建:一主三从
3个虚拟机:
1. hadoop1:主+从 namenode+datanode+resourceMarager
2.hadoop2:从+日志记录 datanode+secondarynamenode+datamanager
3.hadoop3:从 datanode+datamanager
1.启动集群:
2.查看网页运行:
1)创建一个文件夹:
hadoop fs -mkdir /in 或者 hadoop fs -mkdir hdfs//hadoop1:8020/out
2) 上传一个文件或者多个
hadoop fs -put 3 /in 或者 hadoop fs -put * /in(大数据不能修改文件,多个文件上次递归上传)
3)删除文件
hadoop fs -rm -R /in/*(删除多个,递归删除)
4)多个文件上传
hadoop fs -put f1.txt log.txt testfiles /in或者hadoop fs- -put *.jpeg *.txt(该目录下所有以*.jpeg和.ext结尾的都上传)
5)查看一个文本
hadoop fs -cat /in/文件名 或者hadoop fs -cat /in/文件名(文件大时,优先使用text)
6)修改Group所属人
useradd lich --> passwd lich -->lich-->lich -->hadoop fs -chgrp lich /in/文件名
7)修改所属主Owner
hadoop fs -chown lich:lich /in/文件名
8)lich删除root所属组的文件:(阻止好人做坏事)
hadoop -rm /in/log.txt(如果dfs:permissions:true则删除失败)
9)更改属性
hadoop fs -put 文件名 /in/文件名(前文件名:要上传的文件的log.txt文件名,后者:如果里面已经有相同的文件名则改问后者,反之为前者)
10)上传并从命名:
hadoop fs -copyFromLocal ./log.txt /in/新的文件名
11)下载一个文件(下载到本地Linux上)
hadoop fs -get /in/hehe.txt ./或者hadoop fs -copyToLocal /in/hehe.txt ./(如果下载的名字相同则报错)
12)hadoop将目录/in下的hehe.txt复制到/out下
hadoop fs -cp /in/hehe.txt /out
13)查看文件大小
hadoop fs -du
14)合并下载
hadoop fs -getmerge /in/* ./biubiu.txt
15)合并上传(hadoop不支持合并上传)
cat log.txt >> lalal.txt cat testfile >> lalal.txt cat f1.txt >>lalaltxt 合并文件
hadoop fs -put lalal.txt /in 上传
16)查看目录
hadoop fs -lsr/ 或者hadoop fs ls -R
17)保存目录
hadoop fs -lsr / >7.txt(将目录保存到文件7.txt下)
18)将本地的文件移动到hadoop上
hadoop fs -moveFromLocal 文件名 /in
19)将Hadoop上的文件以到hadoop的其他文件下
hadoop fs -mv /in/文件名 /out/new文件名
20)递归删除文件
hadoop fs -rmr /in
21)修改数据热度
hadoop fs -setrep 5 /in/文件名或者 hadoop fs -setrep 5 -R /in (递归in下所有文件都改为热度为5)
22)统计信息
hadoop fs -stat /in/hehe.txt
23)打开文件的尾部的1000字节
hadoop fs -tail /in/hehe.txt
24)测试文件
-e文件是否存在,是返回0
-z文件是否为空,是返回0
-d检查文件是否为目录 是返回1,反之0
hadoop fs -test -e /in/hehe.txt
25) 上传一个空的文件(用处不大)
hadoop fs -touchz /in/_SUCCESS(标识其他文件的结果)
26)删除后一天之内可以撤销(删除后的文件到了根目录下的user/root/.Trash/Current/你所删除的文件)
hadoop fs -rmr /out/*
27)将26删除的拿回来
hadoop fs -cp /user/root/.Transg/Cuttent/你要的文件
28)清空回收站
hadoop fs -expunge
注意:删除时要超过配置文件中的一天后才能删除,不能立即删除
huhu_k:所有的成功都不是一朝一夕的事情。