当前位置: 首页 > article >正文

三、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 服务

  • start-dfs.sh
  • 功能描述:启动 Hadoop 分布式文件系统(HDFS)相关服务,包括 NameNode、DataNode 等。
  • 示例用法:
start-dfs.sh
  • stop-dfs.sh
  • 功能描述:停止 HDFS 相关服务。
  • 示例用法:
stop-dfs.sh
  • start-yarn.sh
  • 功能描述:启动 YARN 相关服务,包括 ResourceManager、NodeManager 等。
  • 示例用法:
start-yarn.sh
  • stop-yarn.sh
  • 功能描述:停止 YARN 相关服务。
  • 示例用法:
stop-yarn.sh

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


http://www.kler.cn/news/367180.html

相关文章:

  • 简化深度学习实验管理:批量训练和自动记录方案
  • .Net 8 Web API CRUD 操作
  • linux中的PATH环境变量
  • ubuntu20.04上使用 Verdaccio 搭建 npm 私有仓库
  • Unity2D 人物爬楼梯
  • 爱奇艺大数据多 AZ 统一调度架构
  • facebook账号类型有哪些?
  • 【解决】使用Hypermark将Markdown文件转化为HTML文件
  • Axure PR 9 多级下拉清除选择器 设计交互
  • 图解:什么是多租户?
  • 专题十六_栈_队列_优先级队列_算法专题详细总结
  • 判断自己的mac是macOS x64 还是macOS ARM64
  • ALIGN_ Tuning Multi-mode Token-level Prompt Alignment across Modalities
  • csp-j2024泄题事件
  • huggingface的lora与resume方法训练模型(以BERT为列)
  • unordered_map和unordered_set相关知识详细梳理
  • Linux | 配置docker环境时yum一直出错的解决方法
  • [软件工程]—嵌入式软件开发流程
  • 探索Python安全字符串处理的奥秘:MarkupSafe库揭秘
  • 华为配置 之 端口隔离
  • 腾讯云控制台URL刷新URL预热 使用接口刷新
  • PgSQL常用SQL语句
  • windows DLL技术-AppInit DLL技术和DLL的最佳做法
  • Linux 斐波那契数列 递归汇编实现
  • python爬虫:HTTP、Cookie和会话管理详解
  • WPF+MVVM案例实战(六)- 自定义分页控件实现