Hadoop HDFS概念学习系列之shell命令使用HDFS的一些其他命令(十九)

简介:

其他相关命令还包括以下这些:

  NameNode  -format :  格式化DFS文件系统

  secondaryNameNode :   运行DFS的SecndaryNameNode进程

  NameNode  :  运行DFS的NameNode进程

  DataNode  :  运行DFS的DataNode进程

  dfsadmin  :   运行DFS的管理客户端

  mradmin  :   运行MapReduce的管理客户端

  fsck   :   运行HDFS的检测进程

  fs   :   运行一个文件系统工具

  balancer    :   运行一个文件系统平衡进程

  jobtracker   :  运行一个JobTracker进程

  pipes   :   运行一个Pipes任务

  tasktracker   :   运行一个TaskTracker进程

  job:管理运行中的MapReducer任务

  queue   :   获得运行中的MapReduce队列的信息

  version  :   打印版本号

  jar  <jar> :运行一个JAR文件

  daemonlog:读取/设置守护进程的日志记录级别

 

 

 

  相信大家已经对这些命令中的一部分很熟悉了。

  比如在命令行终端中,jar是用来运行java程序的,version命令可以查看Hadoop的当前版本,或者在安装时必须运行的NameNode   -format命令。在这一小节,我们介绍的是与HDFS有关的命令,其中与HDFS相关的命令有如下几个:secondaryNameNode、NameNode、DataNode、dfsadmin、fsck、fs、balancer、distcp和archieves。

  它们的统一格式如下:

  bin/hadoop  command  [genericOptions]  [commandOptions]

  其中只有dfsadmin、fsck、fs具有选项genericOptions及commandOptions,其余的命令只有commandOptions。下面先介绍只有commandOptions选项的命令。

  

  distcp。Distcp命令用于Distcp(即Dist分布式,Cp复制)分布式复制。用于在集群内部及集群之间复制数据。

  archives。archives命令是Hadoop定义的档案格式。archive对应一个文件系统,它的扩展名是.har。包含元数据及数据文件。

  DataNode。DataNode命令要简单一些,可以使用如下命令将Hadoop回滚到前一个版本。如下:

      hadoop DataNode   [-rollback]

  NameNode。nameNode命令稍微复杂一些,它的用法如下:

  hadoop nameNode
                  [-format]      //格式化NameNode
                  [-upgrade]   //在Hadoop升级后,应该使用这个命令启动NameNode
                  [-rollback]    //使用NameNode回滚前一个版本
                  [-finalize]     //删除文件系统的前一个状态,这会导致系统不能回滚到前一个zhua
                  [-importCheckpoint]    // 复制备份checkpoint的状态到当前checkpoint

 

  secondaryNameNode。secondaryNameNode的命令用法如下:

 hadoop secondaryNameNode
                  [-checkpoint  [force]]    //当editlog超过规定大小(默认64MB),启动检查secondaryNameNode的checkpoint过程;如果启用force选项,则强制执行checkpoint过程。    
                  [-geteditsize]    //在终端上显示editlog文件的大小

 

  balancer。balancer命令解释中所说,用于分担负载。很多原因都会造成数据在集群内分布不均衡,一般来说,当集群中添加新的DataNode时,可以使用这个命令来进行负载均衡。其用法如下:

  hadoop balancer

  接下来的dfsadmin、fsck、fs这三个命令有一个共同的选项genericOptions,这个选择一般与系统相关,其用法如下:

 -conf    <configuration>             //指定配置文件
    -D  <property=value>               //指定某属性的属性值
  -fs <local|namenode:port>      //指定DataNode及其端口

 

      dfsadmin。在dfsadmin命令中可以执行一些类似Windows中高级用户才能执行的命令,比如升级、回滚等。其用法如下:

复制代码
hadoop dfsadmin [GENERIC_OPTIONS]
                  [-report]    //在终端上显示文件系统的基本信息
                  [-safemode  enter   |    leave    |    get   |    wait]    //Hadoop的安全模式及相关维护;在安全模式中系统是只读的,数据块也不可以删除或复制
                  [-refreshNodes]    [-finalizeUpgrade]      //重新读取hosts和exclude文件,将新的被允许加入到集群中的DataNode连入,同时断开与那些从集群出去的DataNode的连接。
                  [-upgradeProgress   status    |   details    |  force]     //获得当前系统的升级状态、细节,或者强制执行升级过程
                  [-metasave   filename] //保存NameNode的主要数据结构到指定目录下
                  [-setQuota   <qutoa>    <dirname>  ...   <dirname>]  //为每个目录设定配额
                  [-clrQuota    <dirname>  ...   <dirname>] //清除这些目录的配额
                  [-setSpaceQuota   <qutoa>    <dirname>  ...   <dirname>]//为每个目录设置配额空间
                  [-clrSpaceQuota    <dirname>  ...  <dirname>]  //清除这些目录的配额空间
                  [-help   [cmd]]  // 显示命令的帮助信息
复制代码

 

   fsck。fsck在HDFS中被用来检查系统中的不一致情况。比如某文件只有目录,但数据块已经丢失或副本数目不足。与Linux不同,这个命令只用于检测,不能进行修复。其使用方法如下:

复制代码
hadoop  fsck   [GENERIC_OPTIONS]     <path>     [-move    |      -delete     |      -openforwrite]      [-files   [-blocks    [-locations   |   -racks]]]
         //  <path>    检查的起始目录
         //  -move      移动受损文件/lost+found
         //  -delete     删除受损文件
           //  -openforwrite  在终端上显示被写打开的文件
         //  -flies    在终端上显示正被检查的文件
           //   -blocks   在终端上显示块信息
           //   -location   在终端上显示每个块的位置
           //   -rack    显示DataNode的网络拓扑结构图
复制代码

 

  fs。fs可以说是HDFS最常用的命令,这是一个高度类似Linux文件系统的命令集。你可以使用这些命令查看HDFS上的目录结构文件、上传和下载文件、创建文件夹、复制文件等。其使用方法如下:

复制代码
hadoop fs  [genericOptions]  
        [-ls    <path>]  //显示目标路径当前目录下的所有文件
        [-lsr   <path>]  //递归显示目标路径下的所有目录及文件(深度优先)
            [-du   <path>]   //以字节为单位显示目录中所有文件的大小,或该文件的大小(如果目标为文件)
            [-dus <path>]   //以字节为单位显示目标文件大小(用于查看文件夹大小)
            [-count [-q]  <path>]   //将目录的大小、包含文件(包括文件)个数的信息输出到屏幕(标准stdout)
              [-mv   <src>   <dst>]   //把文件或目录移动到目标路径,这个命令允许同时移动多个文件,如果复制多个文件,目标路径必须是文件夹
            [-cp   <src>   <dst>]   //复制文件或目录到目标路径,这个命令运行同时复制多个文件,如果复制多个文件,目标路径必须是文件夹
            [-rm   [-skipTrash]   <path>]    //删除文件,这个命令不能删除文件夹
            [-rmr   [-skipTrash]   <path>]    //删除文件夹及其下的所有文件
            [-expunge]
            [-put   <localsrc>   ...   <dst>]   //从本地文件系统上传文件到HDFS中
            [-copyFromLocal    <localsrc>    ...   <dst>]  //与put相同
            [-moveFromLocal    <localsrc>    ...   <dst>]  //与put相同,但是文件上传之后会从本地文件系统中移除
            [-get   [-ignoreCrc]  [-crc]    <src>    <localdst>] //复制文件到本地文件系统。这个命令可以选择是否忽视校验和,忽视校验和下载主要用于挽救那些已经发生错误的文件。
            [-getmerge    <src>    <localdst>     [addn1]] //将源目录中的所有文件进行排序并写入目标文件中,文件之间以换行符分隔。
            [-cat   <src>] //在终端显示(标准输出stdout) 文件中的内容,类似Linux系统中的Cat。
            [-text  <src>] 
            [-copyToLocal    [-ignoreCrc]    [-crc]    <src>    <localdst>] //与get相同
            [-moveToLocal   [-crc]   <src>    <localdst>]
            [-mkdir  <path>]//创建文件夹
            [-setrep    [-R]    [-W]    <rep>    <path/file>] //改变一个文件的副本个数。参数-R可以递归地对该目录下的所有文件做统一操作
            [-touchz   <path>] //类似Linux中的touch ,创建一个空文件
            [-test   -[ezd]    <path>]  //将源文件输出为文本格式显示到终端上,通过这个命令可以查看TextRecordInputStream(SequenceFile等)或Zip文件。
            [-stat  [format]  <path>] //以指定格式返回路径的信息
            [-tail    [-f]    <file>] //在终端上显示(标准输出stdout)文件的最后1kb内容。-f选项的行为与Linux中一致,会持续检测新添加到文件中的内容,这在查看日志文件时会显得非常方便
            [-chmod   [-R]    <MODE[,MODE]...    |     OCTALMODE>     PATH   ... ]//改变文件的权限,只有文件的所有者或是超级用户才能使用这个命令。-R可以递归地改变文件夹内的所有文件的权限

            [-chown    [-R]    [OWNER]    [:[GROUP]]   PATH ...] //改变文件的拥有者,-R可以递归地改变文件夹内所有文件的拥有者。同样,这个命令只有超级用户才能使用。

            [-chgrp     [-R]    GROUP     PATH  ...] //改变文件所属的组,-R可以递归地改变文件夹内所有文件所属的 [help     [cmd]]  // 这是命令的帮助信息
复制代码

    在这些命令中,参数<path>的完整格式是 hdfs://NameNodeIP:port/,比如你的NameNode地址是192.168.0.1,端口是9000。那么,如果想访问HDFS上路径为/user/root/hello的文件,则需要输入的地址是hdfs://192.168.0.1:9000/user/root/hello。在Hadoop中,如果参数<path>没有NameNodeIP,那么会默认按照core-site.xml中属性fs.default.name的设置,附加"/user/你的用户名"作为路径,这是为了方便使用以及对不同用户进行区分。

 

 


本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/5143531.html,如需转载请自行联系原作者

相关文章
|
21天前
|
分布式计算 资源调度 Hadoop
Hadoop入门基础(五):Hadoop 常用 Shell 命令一网打尽,提升你的大数据技能!
Hadoop入门基础(五):Hadoop 常用 Shell 命令一网打尽,提升你的大数据技能!
|
23天前
|
存储 分布式计算 Hadoop
【揭秘Hadoop背后的秘密!】HDFS读写流程大曝光:从理论到实践,带你深入了解Hadoop分布式文件系统!
【8月更文挑战第24天】Hadoop分布式文件系统(HDFS)是Hadoop生态系统的关键组件,专为大规模数据集提供高效率存储及访问。本文深入解析HDFS数据读写流程并附带示例代码。HDFS采用NameNode和DataNode架构,前者负责元数据管理,后者承担数据块存储任务。文章通过Java示例演示了如何利用Hadoop API实现数据的写入与读取,有助于理解HDFS的工作原理及其在大数据处理中的应用价值。
38 1
|
19天前
|
存储 分布式计算 资源调度
Hadoop生态系统概览:从HDFS到Spark
【8月更文第28天】Hadoop是一个开源软件框架,用于分布式存储和处理大规模数据集。它由多个组件构成,旨在提供高可靠性、高可扩展性和成本效益的数据处理解决方案。本文将介绍Hadoop的核心组件,包括HDFS、MapReduce、YARN,并探讨它们如何与现代大数据处理工具如Spark集成。
44 0
|
24天前
|
缓存 Shell Linux
在Linux中,bash shell 中的 hash 命令有什么作用?
在Linux中,bash shell 中的 hash 命令有什么作用?
|
1月前
|
存储 分布式计算 Hadoop
|
16天前
|
图形学 数据可视化 开发者
超实用Unity Shader Graph教程:从零开始打造令人惊叹的游戏视觉特效,让你的作品瞬间高大上,附带示例代码与详细步骤解析!
【8月更文挑战第31天】Unity Shader Graph 是 Unity 引擎中的强大工具,通过可视化编程帮助开发者轻松创建复杂且炫酷的视觉效果。本文将指导你使用 Shader Graph 实现三种效果:彩虹色渐变着色器、动态光效和水波纹效果。首先确保安装最新版 Unity 并启用 Shader Graph。创建新材质和着色器图谱后,利用节点库中的预定义节点,在编辑区连接节点定义着色器行为。
57 0
|
22天前
|
存储 SQL 分布式计算
Hadoop生态系统概述:构建大数据处理与分析的基石
【8月更文挑战第25天】Hadoop生态系统为大数据处理和分析提供了强大的基础设施和工具集。通过不断扩展和优化其组件和功能,Hadoop将继续在大数据时代发挥重要作用。
|
23天前
|
资源调度 分布式计算 Hadoop
揭秘Hadoop Yarn背后的秘密!它是如何化身‘资源大师’,让大数据处理秒变高效大戏的?
【8月更文挑战第24天】在大数据领域,Hadoop Yarn(另一种资源协调者)作为Hadoop生态的核心组件,扮演着关键角色。Yarn通过其ResourceManager、NodeManager、ApplicationMaster及Container等组件,实现了集群资源的有效管理和作业调度。当MapReduce任务提交时,Yarn不仅高效分配所需资源,还能确保任务按序执行。无论是处理Map阶段还是Reduce阶段的数据,Yarn都能优化资源配置,保障任务流畅运行。此外,Yarn还在Spark等框架中展现出灵活性,支持不同模式下的作业执行。未来,Yarn将持续助力大数据技术的发展与创新。
27 2
|
1月前
|
分布式计算 Hadoop 大数据
Spark 与 Hadoop 的大数据之战:一场惊心动魄的技术较量,决定数据处理的霸权归属!
【8月更文挑战第7天】无论是 Spark 的高效内存计算,还是 Hadoop 的大规模数据存储和处理能力,它们都为大数据的发展做出了重要贡献。
61 2