Hadoop基本操作命令有哪些?

Hadoop作为分布式系统基础框架,其基本操作命令主要通过HDFS(Hadoop Distributed File System)和YARN(Yet Another Resource Negotiator)两大核心组件实现,涵盖文件管理、任务提交、集群状态查看等核心功能,以下从HDFS shell命令、YARN命令及Hadoop通用命令三个维度展开说明,辅以表格归纳常用操作,帮助系统掌握Hadoop日常运维与开发技能。

hadoop基本操作命令大全
(图片来源网络,侵删)

HDFS Shell操作命令

HDFS是Hadoop的存储基石,其命令语法类似Linux Shell,支持文件与目录的创建、删除、查看、移动等基础操作,同时针对分布式特性提供权限控制、副本管理等功能,常用命令如下:

  • 文件上传与下载
    hadoop fs -put local_file hdfs_path:将本地文件上传至HDFS指定路径,如hadoop fs -put test.txt /input
    hadoop fs -get hdfs_path local_path:从HDFS下载文件到本地,如hadoop fs -get /output/result.txt ./
    hadoop fs -copyFromLocal local_file hdfs_path:功能与put类似,但会校验本地文件是否存在,适合频繁操作。

  • 目录与文件管理
    hadoop fs -mkdir -p hdfs_dir:递归创建HDFS目录,-p参数可自动创建父目录;
    hadoop fs -ls [-R] hdfs_path:列出目录内容,-R递归显示子目录,如hadoop fs -ls /user
    hadoop fs -rm [-r] hdfs_path:删除文件或目录,-r用于删除非空目录,如hadoop fs -rm -r /old_data
    hadoop fs -mv src_path dest_path:移动或重命名文件/目录,如hadoop fs -mv /input/test.txt /input/backup.txt

  • 文件查看与权限设置
    hadoop fs -cat hdfs_file:查看文件内容,类似Linux的cat,如hadoop fs -cat /output/part-r-00000
    hadoop fs -text hdfs_file:以文本格式查看压缩文件(如.gz、.bz2);
    hadoop fs -chown user:group hdfs_path:修改文件所有者与所属组,如hadoop fs -chown hadoop:hadoop /data
    hadoop fs -chmod 755 hdfs_path:设置文件权限,如hadoop fs -chmod 644 /input/config.txt

    hadoop基本操作命令大全
    (图片来源网络,侵删)
  • 副本与磁盘空间管理
    hadoop fs -setrep 3 hdfs_file:设置文件副本数,如hadoop fs -setrep 2 /large_file(默认副本数为3);
    hadoop fs -du [-s] [-h] hdfs_path:查看文件大小,-s汇总目录总大小,-h以人类可读格式显示(如KB/MB),如hadoop fs -du -h /user

YARN资源管理与任务提交命令

YARN负责Hadoop集群资源调度与任务监控,常用命令用于查看集群状态、提交MapReduce任务及管理应用程序。

  • 集群状态查看
    yarn node -list:列出集群中所有NodeManager节点状态;
    yarn application -list:显示当前运行中的应用程序列表,-appTypes MAPREDUCE可筛选MapReduce任务;
    yarn application -status application_id:查看指定应用的状态(如application_1234567890123_0001)。

  • 任务提交与终止
    yarn jar my_job.jar MainClass input_path output_path:提交MapReduce任务,需指定JAR包主类、输入输出路径;
    yarn application -kill application_id:终止运行中的应用程序,如yarn application -kill application_1234567890123_0001

    hadoop基本操作命令大全
    (图片来源网络,侵删)
  • 日志查看
    yarn logs -applicationId application_id:获取应用程序的运行日志,便于调试任务失败问题。

Hadoop通用辅助命令

  • hadoop version:查看Hadoop版本信息;
  • hadoop classpath:输出Hadoop类路径,用于配置环境变量;
  • hadoop fs -help [command]:查看命令详细帮助,如hadoop fs -help put

常用Hadoop命令速查表

功能分类命令示例说明
文件上传hadoop fs -put test.txt /input本地文件上传至HDFS
目录创建hadoop fs -mkdir -p /data/test递归创建多级目录
文件查看hadoop fs -cat /output/result.txt查看文件内容
文件删除hadoop fs -rm -r /old_data删除目录及其子文件
权限修改hadoop fs -chmod 755 /script.sh设置文件权限(rwxr-xr-x)
副本设置hadoop fs -setrep 2 /large_file修改文件副本数为2
任务提交yarn jar wordcount.jar input output运行MapReduce任务
应用状态查看yarn application -list列出所有应用程序

相关问答FAQs

Q1: HDFS中文件上传失败,提示“Permission denied”,如何解决?
A: 主要原因是权限不足,可通过两种方式解决:① 使用hadoop fs -chown修改文件所有者,如hadoop fs -chown $USER:$USER /target_dir;② 在core-site.xml中配置权限检查为严格模式(dfs.permissions.enabled=true),并确保用户对目标目录有执行权限(chmod 755)。

Q2: 提交MapReduce任务后,YARN显示“Container killed on request”,可能的原因及排查步骤?
A: 通常由资源不足或任务内存溢出导致:① 检查YARN资源配置(yarn.scheduler.maximum-allocation-mb),确保申请内存不超过节点上限;② 查看任务日志(yarn logs -applicationId <app_id>),确认是否因代码逻辑错误导致内存溢出;③ 调整MapReduce任务内存参数(如mapreduce.map.memory.mb),适当增加内存分配或优化算法减少内存消耗。

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

(0)
运维的头像运维
上一篇2025-10-15 13:22
下一篇 2025-10-15 13:26

相关推荐

  • 纯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

发表回复

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