HDFS常用的Shell命令(转载)

原文地址: http://www.cuiweiyou.com/1405.html

0.shell

[email protected]:~# hadoop fs
Usage: hadoop fs [generic options]
  [-appendToFile <localsrc> ... <dst>]
  [-cat [-ignoreCrc] <src> ...]
  [-checksum <src> ...]
  [-chgrp [-R] GROUP PATH...]
  [-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...]
  [-chown [-R] [OWNER][:[GROUP]] PATH...]
  [-copyFromLocal [-f] [-p] [-l] <localsrc> ... <dst>]
  [-copyToLocal [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
  [-count [-q] [-h] <path> ...]
  [-cp [-f] [-p | -p[topax]] <src> ... <dst>]
  [-createSnapshot <snapshotDir> [<snapshotName>]]
  [-deleteSnapshot <snapshotDir> <snapshotName>]
  [-df [-h] [<path> ...]]
  [-du [-s] [-h] <path> ...]
  [-expunge]
  [-find <path> ... <expression> ...]
  [-get [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
  [-getfacl [-R] <path>]
  [-getfattr [-R] {-n name | -d} [-e en] <path>]
  [-getmerge [-nl] <src> <localdst>]
  [-help [cmd ...]]
  [-ls [-d] [-h] [-R] [<path> ...]]
  [-mkdir [-p] <path> ...]
  [-moveFromLocal <localsrc> ... <dst>]
  [-moveToLocal <src> <localdst>]
  [-mv <src> ... <dst>]
  [-put [-f] [-p] [-l] <localsrc> ... <dst>]
  [-renameSnapshot <snapshotDir> <oldName> <newName>]
  [-rm [-f] [-r|-R] [-skipTrash] <src> ...]
  [-rmdir [--ignore-fail-on-non-empty] <dir> ...]
  [-setfacl [-R] [{-b|-k} {-m|-x <acl_spec>} <path>]|[--set <acl_spec> <path>]]
  [-setfattr {-n name [-v value] | -x name} <path>]
  [-setrep [-R] [-w] <rep> <path> ...]
  [-stat [format] <path> ...]
  [-tail [-f] <file>]
  [-test -[defsz] <path>]
  [-text [-ignoreCrc] <src> ...]
  [-touchz <path> ...]
  [-truncate [-w] <length> <path> ...]
  [-usage [cmd ...]]

Generic options supported are
-conf <configuration file>     specify an application configuration file
-D <property=value>            use value for given property
-fs <local|namenode:port>      specify a namenode
-jt <local|resourcemanager:port>    specify a ResourceManager
-files <comma separated list of files>    specify comma separated files to be copied to the map reduce cluster
-libjars <comma separated list of jars>    specify comma separated jar files to include in the classpath.
-archives <comma separated list of archives>    specify comma separated archives to be unarchived on the compute machines.

The general command line syntax is
bin/hadoop command [genericOptions] [commandOptions]

[email protected]:~#

1.打印文件列表 ls

(1)标准写法

hadoop fs -ls hdfs:/        #hdfs: 明确说明是HDFS系统路径

(2)简写

hadoop fs -ls /            #默认是HDFS系统下的根目录

(3)打印指定子目录

hadoop fs -ls /package/test/    #HDFS系统下某个目录


(5)最大单位打印

hadoop fs -ls -h /        #文件大小显示为最大单位

-rw-r–r– 2    root supergroup 4.6M 2015-05-07 10:43  /   dead_train.txt
权限   副本数 用户  用户组  大小  创建日期 创建时间 路径 文件名

(6)递归打印

hadoop fs -ls -R / #如果有子目录,则递归打印
(7)多个打印参数

hadoop fs -ls -h -R /        #递归打印并且最大单位打印文件


2.上传文件/目录 put、copyFromLocal

2.1 put 从主机本地系统到集群HDFS系统。

<1>上传新文件
    hdfs fs -put file:/root/test.txt hdfs:/     #上传本地test.txt文件到HDFS根目录,HDFS根目录须无同名文件,否则“File exists”
    hdfs fs -put test.txt /test2.txt            #上传并重命名文件。
    hdfs fs -put test1.txt test2.txt hdfs:/     #一次上传多个文件到HDFS路径。
<2>上传文件夹

    hdfs fs -put mypkg /newpkg          #上传并重命名了文件夹。
<3>覆盖上传

    hdfs fs -put -f /root/test.txt /      #如果HDFS目录中有同名文件会被覆盖

2.2copyFromLocal

<1>上传文件并重命名

    hadoop fs -copyFromLocal file:/test.txt hdfs:/test2.txt 

<2>覆盖上传

    hadoop fs -copyFromLocal -f test.txt /test.txt

3.下载文件/目录 get、copyToLocal

从集群HDFS到本地文件系统。

3.1 get

<1>拷贝文件到本地目录

    hadoop fs -get hdfs:/test.txt file:/root/

<2>拷贝文件并重命名。可以简写

    hadoop fs -get /test.txt /root/test.txt

3.2 copyToLocal

<1>拷贝文件到本地目录

    hadoop fs -copyToLocal hdfs:/test.txt file:/root/

<2>拷贝文件并重命名。可以简写

    hadoop fs -copyToLocal /test.txt /root/test.txt

4.拷贝文件/目录 cp

4.1 从本地到HDFS,同put

hadoop fs -cp file:/test.txt hdfs:/test2.txt

4.2 从HDFS到HDFS

hadoop fs -cp hdfs:/test.txt hdfs:/test2.txt
hadoop fs -cp /test.txt /test2.txt

5.移动文件 mv

hadoop fs -mv hdfs:/test.txt hdfs:/dir/test.txt
hadoop fs -mv /test.txt /dir/test.txt

6.删除文件/目录 rm

6.1 删除指定文件

hadoop fs -rm /a.txt

6.2 删除全部txt文件

hadoop fs -rm /*.txt

6.3 递归删除全部文件和目录

hadoop fs -rm -R /dir/

7.读取文件 cat

hadoop fs -cat /test.txt  #以字节码的形式读取

8.读取文件尾部 tail

hadoop fs -tail /test.txt  尾部1K字节

9.创建空文件 touchz

hadoop fs - touchz /newfile.txt

10.写入文件 appendToFile

hadoop fs - appendToFile file:/test.txt hdfs:/newfile.txt      #读取本地文件内容追加到HDFS文件

11.创建文件夹 mkdir

hadoop fs -mkdir /newdir /newdir2                #可以同时创建多个
hadoop fs -mkdir -p /newpkg/newpkg2/newpkg3             #同时创建父级目录

12.改变文件副本数 setrep

hadoop fs -setrep -R -w 2 /test.txt

-R 递归改变目录下所有文件的副本数。
-w 等待副本数调整完毕后返回。可理解为加了这个参数就是阻塞式的了。

13.获取逻辑空间文件/目录大小 du

   hadoop fs - du /      #显示HDFS根目录中各文件和文件夹大小
    hadoop fs -du -h /      #以最大单位显示HDFS根目录中各文件和文件夹大小
    hadoop fs -du -s /      #仅显示HDFS根目录大小。即各文件和文件夹大小之和

14.获取HDFS目录的物理空间信息 count

hadoop fs -count -q /          #显示HDFS根目录在物理空间的信息

-q 查看全部信息,否则只显示后四项

时间: 2024-10-17 18:59:08

HDFS常用的Shell命令(转载)的相关文章

37条常用Linux Shell命令组合

序号 任务 命令组合 1 删除0字节文件 find . -type f -size 0 -exec rm -rf {} \; find . type f -size 0 -delete 2 查看进程,按内存从大到小排列 ps -e -o “%C : %p : %z : %a”|sort -k5 -nr 3 按cpu利用率从大到小排列 ps -e -o “%C : %p : %z : %a”|sort -nr 4 打印说cache里的URL grep -r -a jpg /data/cache/*

常用Linux Shell命令组合

序号 任务 命令组合 1 删除0字节文件 find . -type f -size 0 -exec rm -rf {} \;find . type f -size 0 -delete 2 查看进程,按内存从大到小排列 ps -e -o “%C : %p : %z : %a”|sort -k5 -nr 3 按cpu利用率从大到小排列 ps -e -o “%C : %p : %z : %a”|sort -nr 4 打印说cache里的URL grep -r -a jpg /data/cache/*

二十七、Linux下常用的shell命令记录

本文章记录我在linux系统下常用或有用的系统级命令,包括软硬件查看.修改命令,有CPU.内存.硬盘.网络.系统管理等命令.但本文不打算介绍生僻命令,也不介绍各个linux发行版下的特有命令,且以后会持续更新. 说明,我是在一个Centos 6.4 64位的虚拟机系统进行测试.本文介绍的命令都会在此Centos下运行验证(也有部分命令会在我的suse/ubuntu系统里测试的,会做特明说明),但运行结果就不再列出了. 硬件篇 CPU相关 lscpu #查看的是cpu的统计信息. cat /pro

Lua 常用的shell命令

lua作为一种小巧的脚本语言,其函数等动作可以使用shell命令进行运行和调试,以下是几个常用的shell命令.基本格式是  lua [选项参数] [脚本参数] (1)%lua 程序名.lua                    --直接运行lua程序 (2)%lua -i 程序名.lua                 --启动lua解释器,进入交互模式 (3)dofile("程序名.lua")                --运行程序 (4)lua -e "code&

Android 常用adb shell 命令(转)

调试Android程序有时需要adb shell 命令,adb全称Android Debug Bridge ,就是起到调试桥的作用. 通过adb我们可以在Eclipse中通过DDMS来调试Android程序,说白了就是debug工具.adb通过监听Socket TCP 5554等端口让IDE和Qemu通讯. 默认情况下当我们运行Eclipse时adb进程就会自动运行.adb是一个C/S模式的程序,由三个部分组成:a client,a server and a daemon. 其中client和s

Android 常用adb shell 命令

调试Android程序有时需要adb shell 命令,adb全称Android Debug Bridge ,就是起到调试桥的作用.通过adb我们可以在Eclipse中通过DDMS来调试Android程序,说白了就是debug工具.adb通过监听Socket TCP 5554等端口让IDE和Qemu通讯.默认情况下当我们运行Eclipse时adb进程就会自动运行.adb是一个C/S模式的程序,由三个部分组成:a client,a server and a daemon.其中client和serv

与HDFS交互-By shell命令

Shell命令的开头有三种: hadoop fs hadoop dfs hdfs dfs 关于具体命令之前写过 可查看:https://www.cnblogs.com/floakss/p/9703441.html 参考:http://dblab.xmu.edu.cn/blog/290-2/ 原文地址:https://www.cnblogs.com/floakss/p/9738108.html

Python之路35-subprocess模块和Python3中常用执行shell命令方法

import subprocess #执行命令,返回命令执行状态 , 0 or 非0 retcode = subprocess.call(["free","-m"])    #返回值可判断执行是否正确,命令执行结果直接返回到屏幕 #执行命令,如果命令结果为0,就正常返回,否则抛异常 result = subprocess.check_call(["ls","-l"]) #执行命令,并返回结果,注意是返回结果,不是打印,下例结果

Linux常用的shell命令汇总

今天我们一起来看看Linux系统下常用的系统级命令,包括软硬件查看.修改命令,有CPU.内存.硬盘.网络.系统管理等命令. 说明:所有命令是在Centos 6.4 64位的虚拟机系统进行测试的.这些命令是需要大家深深的记在脑海里的哦 硬件篇 CPU相关 lscpu #查看的是cpu的统计信息. cat /proc/cpuinfo   #查看CPU信息详细信息,如每个CPU的型号,主频等 内存相关 free -m #概要查看内存情况  这里的单位是MB cat /proc/meminfo #查看内