Hadoop2常用命令有哪些?

在Hadoop 2.x生态系统中,命令行工具是与HDFS、YARN等组件交互的核心方式,通过这些命令可以实现文件管理、作业提交、集群监控等操作,以下将详细解析Hadoop 2.x中常用的命令,涵盖HDFS和YARN两大核心模块,并结合实际场景说明其用法与参数。

hadoop2中命令
(图片来源网络,侵删)

HDFS命令操作

HDFS(Hadoop Distributed File System)作为分布式存储基础,提供了丰富的命令来管理文件和目录,以下是常用HDFS命令的分类说明:

基础文件操作

  • hdfs dfs -ls <path>
    列出指定路径下的文件和目录,例如hdfs dfs -ls /可查看HDFS根目录内容,支持-R参数递归列出子目录,-h参数以人类可读格式显示文件大小(如KB、MB)。

  • hdfs dfs -mkdir <path>
    创建目录,例如hdfs dfs -mkdir /user/test会在HDFS上创建test目录,若需创建多级目录,需使用-p参数,如hdfs dfs -mkdir -p /user/test/data

  • hdfs dfs -put <local> <hdfs>
    将本地文件或目录上传至HDFS,例如hdfs dfs -put local.txt /user/test/上传文件,hdfs dfs -put local_dir/ /user/test/上传整个目录,支持-f参数覆盖已存在文件。

    hadoop2中命令
    (图片来源网络,侵删)
  • hdfs dfs -get <hdfs> <local>
    从HDFS下载文件到本地,例如hdfs dfs -get /user/test/local.txt ./下载文件至当前目录,与put类似,支持-f覆盖。

  • hdfs dfs -rm [-r] <path>
    删除文件或目录。-r-R用于递归删除目录及其内容,例如hdfs dfs -rm -r /user/test

  • hdfs dfs -mv <src> <dst>
    移动或重命名文件/目录,例如hdfs dfs -mv /user/test/file1.txt /user/test/newfile.txt重命名文件,或移动至其他目录。

文件权限与所有者管理

  • hdfs dfs -chown [-R] <owner>:<group> <path>
    修改文件所有者和所属组,例如hdfs dfs -chown hadoop:hadoop /user/test/file.txt将文件权限赋予hadoop用户和组,-R递归修改。

    hadoop2中命令
    (图片来源网络,侵删)
  • hdfs dfs -chmod [-R] <mode> <path>
    修改文件权限,例如hdfs dfs -chmod 755 /user/test设置权限为rwxr-xr-x,-R递归应用。

文件查看与统计

  • hdfs dfs -cat <path>
    查看文件内容,例如hdfs dfs -cat /user/test/file.txt会在终端输出文件内容,适合小文件查看。

  • hdfs dfs -du [-s] [-h] <path>
    统计文件大小。-s汇总目录总大小,-h以可读格式显示,例如hdfs dfs -du -sh /user/test显示test目录总大小。

  • hdfs dfs -count [-h] [-q] <path>
    统计目录下的文件数、目录数和总字节数。-q显示配额信息,-h可读格式。

高级操作

  • hdfs dfs -cp [-f] <src> <dst>
    复制文件或目录。-f覆盖目标文件,例如hdfs dfs -cp /user/test/file1.txt /user/test/backup/

  • hdfs dfs -touchz <path>
    创建空文件,例如hdfs dfs -touchz /user/test/empty.txt

  • hdfs dfs -checksum <path>
    计算文件校验和,例如hdfs dfs -checksum /user/test/file.txt输出文件的CRC32校验值。

YARN命令操作

YARN(Yet Another Resource Negotiator)负责集群资源管理和作业调度,以下为常用YARN命令:

作业提交与管理

  • yarn jar <jar> <main-class> [args]
    提交MapReduce或Spark作业,例如yarn jar wordcount.jar WordCount /input /output提交WordCount作业。

  • yarn application -kill <app-id>
    终止指定作业,例如yarn application -kill application_1234567890012_0001

  • yarn application -status <app-id>
    查看作业状态,例如yarn application -status application_1234567890012_0001返回作业的运行状态、进度等信息。

集群资源监控

  • yarn node -list
    列出集群中所有NodeManager节点及其状态(如活跃、不可用)。

  • yarn node -status <node-id>
    查看指定NodeManager的详细信息,包括资源使用情况、运行中的容器数等。

  • yarn queue -status <queue-name>
    查看指定队列的资源使用情况,如内存、CPU配额及已用资源。

日志查看

  • yarn logs -applicationId <app-id>
    查看作业的运行日志,例如yarn logs -applicationId application_1234567890012_0001输出标准输出和错误日志。

命令使用场景示例

以下通过表格对比常见操作场景下的命令选择:

操作场景HDFS命令示例YARN命令示例
上传本地文件到HDFShdfs dfs -put local.txt /input/
从HDFS下载文件到本地hdfs dfs -get /input/result.txt ./
提交MapReduce作业yarn jar wordcount.jar WordCount /input /output
查看作业运行状态yarn application -status <app-id>
删除HDFS目录hdfs dfs -rm -r /old_data/
查看集群节点状态yarn node -list

相关问答FAQs

问题1:HDFS中-put-copyFromLocal命令有什么区别?
解答:hdfs dfs -puthdfs dfs -copyFromLocal功能基本相同,均用于将本地文件上传至HDFS,区别在于-put还支持从HDFS到HDFS的文件复制(如hdfs dfs -put /src /dst),而-copyFromLocal仅支持本地到HDFS的上传,语义更明确,可避免误操作。

问题2:YARN作业运行失败后,如何通过命令定位问题?
解答:首先通过yarn application -status <app-id>查看作业失败状态(如FAILED),然后使用yarn logs -applicationId <app-id>获取作业日志,日志中会包含具体的错误信息,如内存溢出(OOM)、文件路径不存在、类未找到等异常,若日志过多,可结合grep过滤关键字,如yarn logs -applicationId <app-id> | grep "Exception"

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/365526.html<

(0)
运维的头像运维
上一篇2025-09-26 03:17
下一篇 2025-09-26 03:21

相关推荐

  • 纯DOS模式命令有哪些基础操作?

    纯DOS模式命令是早期计算机操作系统中常用的指令集,主要通过命令行界面与系统交互,DOS(Disk Operating System)是磁盘操作系统的缩写,其核心特点是单任务、字符界面,用户需输入特定命令完成操作,以下将详细介绍常用DOS命令的功能、语法及示例,帮助理解其基础应用,文件和目录管理是DOS操作的基……

    2025-11-20
    0
  • Spark执行命令有哪些?

    Spark执行命令是大数据处理领域中核心的操作环节,它通过统一的编程接口与集群资源管理器(如YARN、Mesos或Standalone)协作,实现对分布式数据的高效处理,无论是交互式查询、批量数据处理还是机器学习任务,Spark命令的执行都遵循一套严谨的流程,涉及任务提交、资源分配、任务调度与执行等多个环节,以……

    2025-11-17
    0
  • list命令是什么?

    在Linux和Unix-like操作系统中,list本身并不是一个独立的内置命令,但用户通常会将ls命令视为“列出文件”的命令,因为ls的功能与“list”(列表)的含义高度契合,ls是list segments的缩写,用于显示指定目录下的文件和子列表信息,是Linux系统中最基础、最常用的命令之一,通过ls……

    2025-11-17
    0
  • Debian常用命令有哪些?

    Debian作为一款稳定、开源的Linux发行版,广泛应用于服务器和个人桌面环境,掌握其常用命令是高效管理系统的关键,以下从系统管理、文件操作、软件管理、网络配置、进程管理及用户权限六个方面详细介绍Debian常用命令,并辅以表格总结核心命令,最后附相关FAQs,系统管理命令系统管理是日常运维的基础,主要包括系……

    2025-11-15
    0
  • Linux安卓命令大全,哪些命令最常用?

    Linux和Android系统均基于Linux内核,命令行操作是高效管理系统的核心方式,本文将分类详细介绍常用命令,涵盖文件管理、系统监控、网络配置、压缩解压、用户管理及Android特有命令,总计约1384字,并附FAQs解答,文件与目录管理命令文件操作是Linux/Android的基础,常用命令包括:ls……

    2025-11-15
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注