zoukankan      html  css  js  c++  java
  • Linux命令注释—HDFS运维

    HDFS运维—命令注释

    1 实验背景

    HDFS是大数据其他组件的基础,Hive的数据存储在HDFS中,Mapreduce、Spark 等计算数据也存储在HDFS 中,HBase 的 region 也是存储在HDFS 中。在HDFS shell 客户端我们可以实现多种操作,如上传、下载、删除数据,文件系统管理等。掌握HDFS 的使用对我们更好的理解和掌握大数据大有裨益。

    2 实验目的

    1. 掌握 HDFS 常用操作。
    2. 掌握 HDFS 文件系统管理操作。

    3 实验步骤

    • HDFS 常用操作
    [-appendToFile <localsrc> ... <dst>]
    [-cat [-ignoreCrc] <src> ...]
    [-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...]
    [-chown [-R] [OWNER][:[GROUP]] PATH...]
    [-copyFromLocal [-f] [-p] <localsrc> ... <dst>]
    [-copyToLocal [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
    [-count [-q] <path> ...]
    [-cp [-f] [-p] <src> ... <dst>]
    [-df [-h] [<path> ...]]
    [-du [-s] [-h] <path> ...]
    [-get [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
    [-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] <localsrc> ... <dst>]
    [-rm [-f] [-r|-R] [-skipTrash] <src> ...]
    [-rmdir [--ignore-fail-on-non-empty] <dir> ...]
    [-tail [-f] <file>]
    [-text [-ignoreCrc] <src> ...]
    [-touchz <path> ...]

    步骤 1 help 命令

    • 功能: 查看命令的帮助文档
    • hdfs dfs -help

    步骤 2 ls 命令

    • 功能:显示目录信息
    • hdfs dfs -ls /

    步骤 3 mkdir 命令

    • 功能:在 hdfs 上创建目录

    在根目录的 user 文件夹下创建 stu01 文件夹,首先查看 user 下的内容,然后创建,再使用 ls命令查看,可以看到出现了 stu01 文件夹:

    •  hdfs dfs -mkdir /user/stu01

    步骤 4 put 命令

    • 功能:上传本地文件到 hdfs 指定目录,首先使用 vi 命令在 linux 本地编辑一份数据文件
    • 输入命令 vim stu01.txt

    步骤 5 cat 命令

    • 功能:显示文件内容
    • 输入命令: hdfs dfs -cat /user/stu01/stu01.txt

    步骤 6 text 命令

    • 功能:以字符形式打印一个文件的内容
    • 输入命令:hdfs dfs -text /user/stu01/stu01.txt

    步骤 7 moveFromLocal 命令

    • 功能:从本地剪切粘贴到 hdfs

    同理,使用 vi 命令在 linux 本地先创建一个数据文件,例如 stu01_2.txt,

    • 输入命令:hdfs dfs -moveFromLocal stu01_2.txt /user/stu01/

    注意:

    • 可以看到 stu01_2.txt 文件已上传到 hdfs 文件系统的/user/stu01 目录下,并且使用 ls 命令查看
    • linux 本地,stu01_2.txt 已不存在,证明是剪切粘贴到 hdfs 文件系统了。如果是 put 命令,linux 本地还存在,只是复制到 hdfs 系统。

    步骤 8 appendToFile 命令

    • 功能:追加一个文件到已经存在的文件末尾

    首先,使用 vi 命令在 linux 本地编辑一份数据文件:stu01_3.txt,

    • 输入命令:hdfs dfs -appendToFile stu01_3.txt /user/stu01/stu01_2.txt

    把 stu01_3.txt 文件的内容追加到 hdfs 文件系统的 stu01_2.txt 文件里面去。

    步骤 9 chmod 命令

    • 功能:linux 文件系统中的用法一样,更改文件所属权限

    使用 ls 命令可以查看到 hdfs 文件的权限:
    使用 chmod 命令修改 stu01 文件夹的权限,

    • 输入命令:hdfs dfs -chmod 755 /user/stu01/

    步骤 10 chown 命令

    • 功能:linux 文件系统中的用法一样,更改文件所属用户和用户组

    首先在 hdfs 根目录下创建文件夹 stu01,使用 ls 命令可以查看属组:
    注意:因为 root 用户无权限操作属组,需要切换到 admin 用户。

    • 输入命令:su admin,切换admin 用户:

    使用 chown 命令修改 stu01 文件夹的用户及用户组,

    • 输入命令:hdfs dfs -chown -R hive:hive /stu01/

    步骤 11 cp 命令

    • 功能:从 hdfs 的一个路径拷贝 hdfs 的另一个路径

    首先在 linux 本地使用 vi 命令编辑一份文件:stu01_4.txt ,然后用 put 命令上传到 hdfs 的根目
    录下。

    • 输入 cp 命令:hdfs dfs -cp /stu01_4.txt /user/stu01/

    步骤 12 mv 命令

    • 功能:在 hdfs 目录中移动文件

    首先在 linux 本地使用 vi 命令编辑一份文件:stu01_5.txt ,然后用 put 命令上传到 hdfs 的根目
    录下。

    • 输入 mv 命令:hdfs dfs -mv /stu01_5.txt /user/stu01/

    注意:可以看到/user/stu01 文件夹下已经有 stu01_5.txt 文件了,但是该文件在根目录下已经不存在,
    被移走了。

    步骤 13 get 命令

    • 功能:等同于 copyToLocal,就是从 hdfs 下载文件到本地

    首先删除 linux 本地的 stu01_5.txt 文件:

    • 执行 copyToLocal 命令:hdfs dfs -copyToLocal /user/stu01/stu01_5.txt .

    可以看到在 linux 本地已经有 stu01_5.txt 文件了。
    注意:hdfs 命令最后的.,表示当前目录,如果指 定其他目录,就可以指定文件保存的路径。

    步骤 14 getmerge 命令

    • 功能:合并下载多个文件

    执行 ls 命令,在/user/stu01/目录下有多个文件存在

    • 执行命令:hdfs dfs -getmerge /user/stu01/* ./merge.txt */

    可以看到当前目录下生成了一个 merge.txt 文件,里面的内容就是/user/stu01/下几个文件的合 集。

    步骤 15 rm 命令

    • 功能:删除 hdfs 文件或文件夹
    • 执行命令:hdfs dfs -rm /user/stu01/stu01_5.txt

    可以看到/user/stu01/目录下已经没有 stu01_5.txt 文件了。

    步骤 16 df 命令

    • 功能:统计文件系统的可用空间信息
    • 执行命令:hdfs dfs -df -h /

    步骤 17 du 命令

    • 功能:统计文件夹的大小信息
    • 执行命令:hdfs dfs -du -s -h /user/stu01

    步骤 18 count 命令

    • 功能:统计一个指定目录下的文件节点数量
    • 执行命令:hdfs dfs -count -v /user/stu01

    4 回收站使用

    日常工作中,有时会误删文件。此时我们可以在 hdfs 的回收站中找到被误删的文件,回收站默认将被删除文件保存 7 天。例如误删了/user/stu01/stu01_5.txt 文件,此时 stu01_5.txt 文件被移动到回收站。

    • 使用命令:hdfs dfs -ls /user/root/.Trash/Current/user/stu01/

    可以查看到回收站中的 stu01_5.txt。
    备注: 被删除数据默认保留 7 天
    使用 mv 命令,将文件移动回/user/stu01/目录文件即可使用。

  • 相关阅读:
    Com组件的两种复用方式:包容与集合的区别
    LAPACK/CLAPACK超级无敌算法库
    转:.h头文件 .lib库文件 .dll动态链接库文件关系
    python中类的变量与对象的变量
    重温:Martin Fowler的持续集成
    转:OOD的五个设计原则
    文章资源分享
    代码奔腾 Code Rush
    非ie6、ie7和ie8中iframe在dom中位置改变会引起iframe的指向重新加载
    前端开发利器webStorm
  • 原文地址:https://www.cnblogs.com/cainiao-chuanqi/p/11268497.html
Copyright © 2011-2022 走看看