hadoop 集群的常用命令

以下是 Hadoop 集群中一些常用的命令:

HDFS(Hadoop 分布式文件系统)命令

1. 启动和停止 HDFS

  • **启动 HDFS**

```bash

start-dfs.sh

```

该命令会启动 NameNode、SecondaryNameNode 和 DataNode 服务,这些服务共同构成了 HDFS 的核心组件。NameNode 管理文件系统的命名空间和客户端对文件的访问,DataNode 负责存储实际的数据块,SecondaryNameNode 协助 NameNode 进行元数据的检查点操作。

  • **停止 HDFS**

```bash

stop-dfs.sh

```

此命令用于停止上述提到的 HDFS 相关服务。

2. 创建目录

```bash

hdfs dfs -mkdir /new_directory

```

这个命令会在 HDFS 根目录下创建一个名为 `new_directory` 的新目录。你可以根据需要修改目录的路径和名称。

3. 查看文件和目录

  • **查看指定目录下的文件和子目录**

```bash

hdfs dfs -ls /path/to/directory

```

将 `/path/to/directory` 替换为你要查看的实际目录路径,该命令会列出该目录下的所有文件和子目录的详细信息,包括权限、所有者、大小和修改时间等。

  • **递归查看目录下的所有文件和子目录**

```bash

hdfs dfs -ls -R /path/to/directory

```

使用 `-R` 选项可以递归地列出指定目录及其所有子目录下的文件和子目录。

4. 上传文件到 HDFS

```bash

hdfs dfs -put local_file /hdfs_destination

```

`local_file` 是本地文件的路径,`/hdfs_destination` 是 HDFS 上的目标路径。该命令会将本地文件上传到 HDFS 指定的位置。

5. 从 HDFS 下载文件

```bash

hdfs dfs -get /hdfs_file local_destination

```

`/hdfs_file` 是 HDFS 上的文件路径,`local_destination` 是本地的目标路径。此命令会将 HDFS 上的文件下载到本地指定的位置。

6. 删除文件或目录

```bash

hdfs dfs -rm -r /path/to/file_or_directory

```

使用 `-rm` 命令删除文件,若要删除目录则需要加上 `-r` 选项进行递归删除。

YARN(Yet Another Resource Negotiator)命令

1. 启动和停止 YARN

  • **启动 YARN**

```bash

start-yarn.sh

```

该命令会启动 ResourceManager 和 NodeManager 服务。ResourceManager 负责整个集群的资源管理和调度,NodeManager 负责在每个节点上管理容器并监控资源使用情况。

  • **停止 YARN**

```bash

stop-yarn.sh

```

此命令用于停止上述的 YARN 相关服务。

2. 查看 YARN 应用程序状态

```bash

yarn application -list

```

该命令会列出当前 YARN 集群中所有应用程序的详细信息,包括应用程序 ID、名称、状态、启动时间等。

3. 杀死 YARN 应用程序

```bash

yarn application -kill application_id

```

将 `application_id` 替换为你要终止的应用程序的实际 ID,该命令会强制终止指定的 YARN 应用程序。

MapReduce 命令

运行 MapReduce 作业

```bash

hadoop jar /path/to/your/jar/file.jar main_class input_path output_path

```

`/path/to/your/jar/file.jar` 是包含 MapReduce 作业代码的 JAR 文件路径,`main_class` 是作业的主类名,`input_path` 是输入数据在 HDFS 上的路径,`output_path` 是作业输出结果在 HDFS 上的路径。

以上这些命令是 Hadoop 集群中比较常用的命令,通过熟练使用这些命令,你可以有效地管理 HDFS 文件系统、调度 YARN 资源以及运行 MapReduce 作业。

相关推荐
coding随想1 小时前
JavaScript中的BOM:Window对象全解析
开发语言·javascript·ecmascript
念九_ysl1 小时前
Java 使用 OpenHTMLToPDF + Batik 将含 SVG 遮罩的 HTML 转为 PDF 的完整实践
java·开发语言·pdf
yaoxin5211232 小时前
124. Java 泛型 - 有界类型参数
java·开发语言
liulilittle2 小时前
深度剖析:OPENPPP2 libtcpip 实现原理与架构设计
开发语言·网络·c++·tcp/ip·智能路由器·tcp·通信
88号技师2 小时前
2025年6月一区-田忌赛马优化算法Tianji’s horse racing optimization-附Matlab免费代码
开发语言·算法·matlab·优化算法
勤奋的知更鸟2 小时前
Java 编程之模板方法模式
java·开发语言·模板方法模式
上单带刀不带妹3 小时前
手写 Vue 中虚拟 DOM 到真实 DOM 的完整过程
开发语言·前端·javascript·vue.js·前端框架
-凌凌漆-4 小时前
【Qt】QStringLiteral 介绍
开发语言·qt
程序员爱钓鱼4 小时前
Go语言项目工程化 — 常见开发工具与 CI/CD 支持
开发语言·后端·golang·gin
军训猫猫头4 小时前
1.如何对多个控件进行高效的绑定 C#例子 WPF例子
开发语言·算法·c#·.net