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.sh
,core-site.xml
,hdfs-site.xml
,mapred-site.xml
,yarn-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 的基础知识。