1. 首页 > 知识问答 > hdfs命令是什么

hdfs命令是什么

教程操作环境:linux5.9.8系统、Dell G3电脑。

hdfs命令是什么?

指Hadoop hdfs系统的命令。

操作hdfs系统可以使用hadoop fs 也可以使用 hdfs dfs ,两者效果一样。(hadoop dfs命令已不再建议使用)

Hadoop hdfs系统的一些常用命令

一、hadoop fs (hdfs dfs) 文件操作

ls 显示目录下的所有文件或者文件夹

使用方法: hadoop fs -ls [uri形式目录]

示例: hadoop fs –ls / 显示根目录下的所有文件和目录

显示目录下的所有文件可以加 -R 选项

示例: hadoop fs -ls -R /

    cat 查看文件内容

    使用方法:hadoop fs -cat URI [URI …]

    示例: hadoop fs -cat /in/test2.txt

      mkdir 创建目录

      使用方法:hadoop fs -mkdir [uri形式目录]

      示例: hadoop fs –mkdir /test

      创建多级目录 加上 –p

      示例: hadoop fs –mkdir -p /a/b/c

        rm 删除目录或者文件

        使用方法:hadoop fs -rm [文件路径] 删除文件夹加上 -r

        示例: hadoop fs -rm /test1.txt

        删除文件夹加上 -r,

        示例:hadoop fs -rm -r /test

          put 复制文件

          将文件复制到hdfs系统中,也可以是从标准输入中读取文件,此时的dst是一个文件

          使用方法: hadoop fs -put b3e6245f968e4d335caa58a859ea3c39 ... 66f6480be339a60aa99e285cc7163a46

          示例:

          Hadoop fs -put /usr/wisedu/temp/test1.txt /

          从标准输入中读取文件:hadoop fs -put -/in/myword

            cp 复制系统内文件

            使用方法:hadoopfs -cp URI [URI …] 6be58d1426a577c69ada50a4bc87dd69

            将文件从源路径复制到目标路径。这个命令允许有多个源路径,此时目标路径必须是一个目录。

            示例:

            hadoop fs -cp /in/myword/word登录后复制

              copyFromLocal 复制地文件到hdfs

              使用方法:hadoop fs-copyFromLocal b3e6245f968e4d335caa58a859ea3c39 URI

              除了限定源路径是一个地文件外,和put命令相似

                get 复制文件到地系统

                使用方法:hadoop fs -get[-ignorecrc] [-crc] cbce1a3cf2f839037583dce8e845670b 6f6ffa7fad51158d88c8ae6908c9872c

                复制文件到地文件系统。可用-ignorecrc选项复制CRC校验失败的文件。使用-crc选项复制文件以及CRC信息。

                示例:hadoop fs -get/word /usr/wisedu/temp/word.txt

                  copyToLocal 复制 文件到地系统

                  使用方法:hadoop fs-copyToLocal [-ignorecrc] [-crc] URI 6f6ffa7fad51158d88c8ae6908c9872c

                  除了限定目标路径是一个地文件外,和get命令类似。

                  示例:hadoop fs - copyToLocal/word /usr/wisedu/temp/word.txt

                    mv

                    将文件从源路径移动到目标路径。这个命令允许有多个源路径,此时目标路径必须是一个目录。不允许在不同的文件系统间移动文件。

                    使用方法:hadoop fs -mv URI [URI …] 6be58d1426a577c69ada50a4bc87dd69

                    示例:hadoop fs -mv /in/test2.txt /test2.txt

                      du 显示文件大小

                      显示目录中所有文件的大小。

                      使用方法:hadoop fs -du URI [URI …]

                      示例: hadoop fs -du /

                      显示当前目录或者文件夹的大小可加选项 -s

                      示例: hadoop fs -du -s /

                        touchz 创建空文件

                        使用方法:hadoop fs -touchz URI [URI …]

                        创建一个0字节的空文件

                        示例:hadoop fs -touchz /empty.txt

                          chmod 改变文件权限

                          使用方法:hadoop fs -chmod[-R] a022822f2b0fb3cf3c2fe0daa5dd3285 URI [URI …]

                          与Linux平台下chmod命令相似,改变文件的权限。使用-R将使改变在目录结构下递归进行。命令的使用者必须是文件的所有者或者超级用户。

                          示例:先创建一个普通用户test:sudo useradd -m test

                          再用wisedu用户在hdfs系统目录/a下创建hello.txt文件,此时test具有读取/a/hello.txt文件的权限,

                          在切换回wisedu用户修改文件的权限,让/a目录下的文件对于其他用户都不可读,命令: hadoop fs -chmod -R o-r /a 如下图所示,再切换回test用户查看/a/hello.txt文件时提示没有权限:

                            chown 改变文件所有者

                            使用方法:hadoop fs -chown [-R] [OWNER][:[GROUP]] URI [URI]

                            改变文件的拥有者。使用-R将使改变在目录结构下递归进行。命令的使用者必须是超级用户。

                            示例:hadoop fs -chown -R test /a

                              chgrp 改变文件所在组

                              使用方法:hadoop fs -chgrp [-R] GROUP URI [URI …]

                              改变文件所属的组。使用-R将使改变在目录结构下递归进行。命令的使用者必须是文件的所有者或者超级用户。

                              示例:hadoop fs -chgrp -R test /a 如下图:

                              二、hdfs dfsadmin 管理命令

                              1) -report

                              查看文件系统的基信息和统计信息。

                              示例:hdfs dfsadmin -report

                              2) -safemode

                              enter | leave | get | wait:安全模式命令。安全模式是NameNode的一种状态,在这种状态下,NameNode不接受对名字空间的更改(只读);不复制或删除块。NameNode在启动时自动进入安全模式,当配置块的最小百分数满足最小副数的条件时,会自动离开安全模式。enter是进入,leave是离开。

                              示例:hdfs dfsadmin -safemode get

                              hdfsdfsadmin -safemode enter

                              3) -refreshNodes

                              重新读取hosts和exclude文件,使新的节点或需要退出集群的节点能够被NameNode重新识别。这个命令在新增节点或注销节点时用到。

                              示例:hdfs dfsadmin -refreshNodes

                              4) -finalizeUpgrade

                              终结HDFS的升级操作。DataNode删除前一个版的工作目录,之后NameNode也这样做。

                              5) -upgradeProgress

                              status| details | force:请求当前系统的升级状态 | 升级状态的细节| 强制升级操作

                              6) -metasave filename

                              保存NameNode的主要数据结构到hadoop.log.dir属性指定的目录下的2334ac29606bf8a170583e4f7533b1f4文件中。

                              7) -setQuota91363e4d07f5c5dd93a0d7aa611d90c0635058c94e19ffeddfb72b34fa0e8ce3……635058c94e19ffeddfb72b34fa0e8ce3

                              为每个目录635058c94e19ffeddfb72b34fa0e8ce3设定配额91363e4d07f5c5dd93a0d7aa611d90c0。目录配额是一个长整形整数,强制设定目录树下的名字个数。

                              8) -clrQuota635058c94e19ffeddfb72b34fa0e8ce3……635058c94e19ffeddfb72b34fa0e8ce3

                              为每个目录635058c94e19ffeddfb72b34fa0e8ce3清除配额设定。

                              9) -help

                              显示帮助信息