三、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 进行大数据处理工作。在实际使用中,应根据具体的需求和场景,合理选择和运用这些命令,以提高工作效率和数据处理的准确性。

相关推荐
CP-DD19 分钟前
Linux 进程
linux
铁手飞鹰22 分钟前
[linux驱动开发--环境搭建] qemu-9.1+linux-kernel-6.11
linux·服务器·驱动开发
wangsir.22 分钟前
线程的同步
linux·服务器·线程·同步
传输能手25 分钟前
从三方云服务器将数据迁移至本地,如何保障安全高效?
大数据·服务器·数据库
再拼一次吧44 分钟前
Elasticsearch
大数据·elasticsearch·搜索引擎
橙子qyfftf1 小时前
深度了解flink(七) JobManager(1) 组件启动流程分析
大数据·flink
昨天今天明天好多天1 小时前
【Mac】Homebrew
大数据·macos
2739920291 小时前
ubuntu gcc、g++升级
linux·ubuntu
blessing。。2 小时前
__attribute__ ((__packed__))
linux·c语言·arm开发
JioJio~z2 小时前
Linux之nfs服务器和dns服务器
linux·运维·服务器