三、Hadoop 常用命令集总览

Hadoop 常用命令集总览

在大数据处理领域,Hadoop 作为一种广泛应用的分布式系统基础架构,其重要性不言而喻。熟练掌握 Hadoop 的常用命令对于高效的数据处理和分析工作至关重要。本文将对 Hadoop 的常用命令进行专业而详尽的列举,并结合实例进行深入讲解。

一、HDFS 命令

1. 文件和目录操作

  • hadoop fs -ls

  • 功能描述:用于列出指定目录下的文件和目录信息。

  • 示例用法:

    hadoop fs -ls /user/hadoop

  • 该命令执行后,将展示 /user/hadoop 目录下的所有文件和子目录的详细信息,包括文件权限、所有者、大小以及修改时间等。

  • hadoop fs -mkdir

  • 功能描述:创建指定的目录。

  • 示例用法:

    hadoop fs -mkdir /user/hadoop/test

  • 此命令可在 HDFS 中成功创建 /user/hadoop/test 目录。

  • hadoop fs -put

  • 功能描述:将本地文件上传至 HDFS。

  • 示例用法:

    hadoop fs -put localfile.txt /user/hadoop/

  • 该操作会将本地的 localfile.txt 文件上传至 HDFS 的 /user/hadoop/ 目录下。上传完成后,可使用 -ls 命令进行验证,以确认文件是否成功上传。

  • hadoop fs -get

  • 功能描述:将 HDFS 上的文件下载至本地。

  • 示例用法:

    hadoop fs -get /user/hadoop/hdfsfile.txt localdirectory

  • 此命令会将 HDFS 上的 /user/hadoop/hdfsfile.txt 文件下载至本地的 localdirectory 目录中。若本地目录不存在,系统将自动创建。

  • hadoop fs -rm

  • 功能描述:删除 HDFS 上的文件或目录。

  • 示例用法:

    hadoop fs -rm /user/hadoop/testfile.txt

  • 该命令用于删除 /user/hadoop 目录下的 testfile.txt 文件。若要删除目录,则需加上 -r 选项,例如:

    hadoop fs -rm -r /user/hadoop/testdirectory

2. 文件查看和复制

  • hadoop fs -cat

  • 功能描述:查看文件内容。

  • 示例用法:

    hadoop fs -cat /user/hadoop/logfile.txt

  • 执行该命令后,会在控制台输出 /user/hadoop/logfile.txt 文件的具体内容。

  • hadoop fs -cp

  • 功能描述:在 HDFS 中复制文件或目录。

  • 示例用法:

    hadoop fs -cp /user/hadoop/sourcefile.txt /user/hadoop/destinationfile.txt

  • 此命令将 /user/hadoop/sourcefile.txt 文件复制到 /user/hadoop/destinationfile.txt。若要复制目录,同样需使用 -r 选项,例如:

    hadoop fs -cp -r /user/hadoop/sourcedirectory /user/hadoop/destinationdirectory

3. 文件权限设置

  • hadoop fs -chmod

  • 功能描述:改变文件或目录的权限。

  • 示例用法:

    hadoop fs -chmod 755 /user/hadoop/testfile.txt

  • 这里将 /user/hadoop/testfile.txt 文件的权限设置为 755,即所有者具有读、写、执行权限;组用户有读、执行权限;其他用户有读、执行权限。

  • hadoop fs -chown

  • 功能描述:改变文件或目录的所有者。

  • 示例用法:

    hadoop fs -chown hadoop:hadoopgroup /user/hadoop/testfile.txt

  • 该命令将 /user/hadoop/testfile.txt 文件的所有者改为 hadoop,所属组改为 hadoopgroup

二、MapReduce 命令

1. 提交作业

  • hadoop jar

  • 功能描述:提交 MapReduce 作业。

  • 示例用法:

    hadoop jar wordcount.jar WordCount /user/hadoop/input /user/hadoop/output

  • 这里使用 hadoop jar 命令提交名为 wordcount.jar 的 MapReduce 作业,作业的类名为 WordCount,输入目录为 /user/hadoop/input,输出目录为 /user/hadoop/output。在提交作业前,务必确保输入目录存在且有数据,同时输出目录不存在,否则作业将失败。

2. 查看作业状态

  • hadoop job -list

  • 功能描述:列出所有正在运行和已完成的作业。

  • 示例用法:

    hadoop job -list

  • 执行该命令后,会显示作业的 ID、状态、用户名、提交时间等详细信息。

  • hadoop job -status

  • 功能描述:查看指定作业的详细状态。

  • 示例用法:

    hadoop job -status job_1234567890123_0001

  • 这里将查看作业 ID 为 job_1234567890123_0001 的详细状态,包括作业的进度、各个阶段的完成情况等。

3. 杀死作业

  • hadoop job -kill

  • 功能描述:杀死指定的作业。

  • 示例用法:

    hadoop job -kill job_1234567890123_0001

  • 若发现某个作业运行异常或需要停止,可以使用该命令杀死指定的作业。

YARN 命令

1. 应用程序管理

  • yarn application -list

  • 功能描述:列出 YARN 上运行的应用程序。

  • 示例用法:

    yarn application -list

  • 该命令会显示应用程序的 ID、名称、类型、状态、用户等详细信息。

  • yarn application -kill

  • 功能描述:杀死指定的应用程序。

  • 示例用法:

    yarn application -kill application_1234567890123

  • 当需要强制停止某个在 YARN 上运行的应用程序时,可以使用此命令。

2. 资源管理

  • yarn node -list

  • 功能描述:列出 YARN 集群中的节点信息。

  • 示例用法:

    yarn node -list

  • 执行该命令后,会显示节点的 ID、状态、主机名、可用内存、已使用内存等信息,有助于全面了解集群的资源状况。

  • yarn queue -list

  • 功能描述:列出 YARN 中的队列信息。

  • 示例用法:

    yarn queue -list

  • 可以查看集群中定义的队列名称、状态、资源使用情况等,对于作业的调度和资源分配具有重要意义。

四、其他常用命令

1. Hadoop 版本查看

  • hadoop version

  • 功能描述:查看 Hadoop 的版本信息。

  • 示例用法:

    hadoop version

  • 执行该命令后,会显示 Hadoop 的版本号、编译信息等,方便使用者了解所使用的 Hadoop 版本。

2. 格式化 NameNode

  • hdfs namenode -format

  • 功能描述:在首次安装 Hadoop 或需要重新格式化 NameNode 时使用。

  • 示例用法:

    hdfs namenode -format

  • 注意,格式化 NameNode 会清除 HDFS 上的所有数据,因此在执行此命令前一定要确保数据已经备份或者不需要保留。

3. 启动和停止 Hadoop 服务

这些 Hadoop 常用命令涵盖了文件操作、作业管理、资源管理等多个方面,是在 Hadoop 环境中进行数据处理和管理的基本工具。熟练掌握这些命令,能够更加高效地使用 Hadoop 进行大数据处理工作。在实际使用中,应根据具体的需求和场景,合理选择和运用这些命令,以提高工作效率和数据处理的准确性。

相关推荐
追风赶月、几秒前
【Linux】线程概念与线程控制
linux·运维·服务器
小字节,大梦想2 分钟前
【Linux】重定向,dup
linux
samLi062035 分钟前
【更新】中国省级产业集聚测算数据及协调集聚指数数据(2000-2022年)
大数据
Mephisto.java39 分钟前
【大数据学习 | Spark-Core】Spark提交及运行流程
大数据·学习·spark
blessing。。1 小时前
I2C学习
linux·单片机·嵌入式硬件·嵌入式
2202_754421541 小时前
生成MPSOC以及ZYNQ的启动文件BOOT.BIN的小软件
java·linux·开发语言
EasyCVR2 小时前
私有化部署视频平台EasyCVR宇视设备视频平台如何构建视频联网平台及升级视频转码业务?
大数据·网络·音视频·h.265
hummhumm2 小时前
第 22 章 - Go语言 测试与基准测试
java·大数据·开发语言·前端·python·golang·log4j
运维&陈同学2 小时前
【zookeeper03】消息队列与微服务之zookeeper集群部署
linux·微服务·zookeeper·云原生·消息队列·云计算·java-zookeeper
科技象限3 小时前
电脑禁用U盘的四种简单方法(电脑怎么阻止u盘使用)
大数据·网络·电脑