Hadoop 单节点

Hadoop 是一个开源的分布式计算框架,用于处理大规模数据集。在实际应用中,有时候我们只需要在一台机器上搭建一个 Hadoop 单节点集群用于测试或学习。本文将介绍如何在单节点上搭建 Hadoop 环境,并演示简单的 WordCount 示例。

步骤

1. 安装 Java

首先,确保机器上已经安装了 Java。可以通过以下命令检查 Java 版本:

java -version

如果没有安装 Java,可以通过以下命令安装 OpenJDK:

sudo apt update
sudo apt install default-jdk

2. 下载 Hadoop

接下来,从 Hadoop 官网下载最新版本的 Hadoop,并解压缩到指定目录。比如:

wget 
tar -xzvf hadoop-3.3.1.tar.gz
mv hadoop-3.3.1 /opt/hadoop

3. 配置 Hadoop

编辑 Hadoop 的配置文件,主要是 hadoop-env.shcore-site.xmlhdfs-site.xmlmapred-site.xmlyarn-site.xml。配置文件的具体内容可以根据实际需求进行调整。

4. 启动 Hadoop

启动 Hadoop 单节点集群,可以使用以下命令:

/opt/hadoop/sbin/start-dfs.sh
/opt/hadoop/sbin/start-yarn.sh

5. 执行 WordCount 示例

创建一个文本文件 input.txt,内容如下:

Hello World
Hello Hadoop
World Hadoop

然后执行 WordCount 示例:

/opt/hadoop/bin/hadoop jar /opt/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount input.txt output

6. 查看结果

最后,查看 output 目录下生成的结果文件:

cat output/*

序列图

以下是一个简单的 Hadoop 单节点工作流程的序列图:

sequenceDiagram
    participant Client
    participant NameNode
    participant DataNode
    participant ResourceManager
    participant NodeManager
    Client ->> NameNode: 1. 上传输入文件
    NameNode ->> Client: 2. 返回文件位置
    Client ->> DataNode: 3. 上传文件块
    DataNode ->> Client: 4. 返回上传成功
    Client ->> ResourceManager: 5. 提交作业
    ResourceManager ->> NameNode: 6. 获取文件位置
    NameNode ->> ResourceManager: 7. 返回文件位置
    ResourceManager ->> NodeManager: 8. 分配任务
    NodeManager ->> NodeManager: 9. 执行任务
    NodeManager ->> ResourceManager: 10. 返回任务结果
    ResourceManager ->> Client: 11. 返回作业结果

总结

通过以上步骤,我们成功在单节点上搭建了 Hadoop 环境,并执行了简单的 WordCount 示例。如果想进一步学习和实践 Hadoop,可以尝试在多节点上搭建集群,以及深入了解 Hadoop 的其他组件和功能。希望这篇文章能够帮助你快速入门并掌握 Hadoop 的基础知识。