您的位置:首页 > 运维架构 > Shell

hdfs常用的Shell操作

2017-10-15 19:20 302 查看
(二)Shell操作

1 shell操作的准备工作

我们需要在.bashrc 文件中配置环境变量,这样hadoop命令才可以方便的直接写,而不用在写全路径去执行

exprot HADOOP_HOME=/home/hadoop/apps/hadoop-2.6.5(这个路劲可以通过pwd命令去查看)
exprot PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin


同时必须明确在这里我们涉及到两种路径:一个是本地(Linux文件系统的路径)是看的见得;一个是HDFS集群的文件路径(虽然HDFS在Linux上,但与本地不一样),在本地Linux是找不到的,他是一个逻辑上的路径.

2、常用的Shell命令

(1)查看帮助手册

hadoop -help
hadoop fs -help      (注:其中的fs表示客户端上执行  )
hadoop fs -help ls


(2)显示hdfs集群中的所有文件——————-查看文件列表

hadoop fs -ls /


(3)在hdfs集群上创建目录test2 ——————————创建文件

hadoop fs -mkdir /test2


(4)将本地文件上传到(复制到)hdfs集群上—————–上传

hadoop fs -put ./huangbo.txt /test2



hadoop fs -copyFromLocal  ./huangbo.txt   /test2


(5)将hdfs集群的文件下载到(复制到)本地

hadoop fs -get /test2/huangbo.txt  /home/hadoop




hadoop fs -copyToLocal /test2/huangbo.txt  /home/hadoop
————下载

(6)将本地文件上传到(剪切到)hdfs集群上

hadoop fs -moveFromLocal  ./huangbo.txt   /test2


(7) 将hdfs集群上文件上传到(剪切到)本地上

hadoop fs -moveToLocal  /test2/huangbo.txt   /home/hadoop


(6)将hdfs集群中的某个文件复制到hdfs集群中的另一个目录中(将huangbo.txt拷贝test3) —–hdfs内部之间文件拷贝

hadoop fs -cp /test2/huangbo.txt   /test3/


(7)将hdfs集群中的某个文件剪切到该hdfs集群中的另一个目前中 —–hdfs内部之间文件剪切

hadoop fs -mv /test2/huangbo.txt   /test3/


(8)删除hdfs集群中文件或文件夹 - —————————————————文件删除

hadoop fs -rm -r /aaa/bbb


清除空目录

hadoop fs -rmdir /aaa


(9)将hdfs集群中的两个文件内容进行合并,并下载到本地 ——————文件合并

hadoop fs -getmerge /test2/huangbo.txt    /test3/xuzheng.txt   /home/hadoop/a.txt


此时a.txt中内容就是huangbo.txt与xuzheng.txt的内容

(10)追加本地文件的内容到hdfs集群上的指定文件内容中去 ————————–文件追加

hadoop fs -appendToFile  /home/hadoop/a.txt  /test3/hh.txt


此时hh.txt中的内容便是两者的结合

(11)展示hdfs集群中指定文件的内容 ——————————查看文件内容

hadoop fs -cat  /test3/a.txt
-tail
-text


(12)统计hdfs集群中指定目录的文件节点的数量 —————————–查看文件数量

hadoop fs -count /test3


(13)设置hdfs集群文件备份数量 —————–设置文件备份

hadoop fs -setrep 6 /test3/a.txt
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell hadoop hdfs