Ubuntu 上 Hadoop 测试流程(以伪分布式为例)
在 Ubuntu 上测试 Hadoop 需完成环境准备→配置验证→HDFS 操作→MapReduce 任务执行四个核心步骤,以下是详细操作指南:
1. 前提条件:安装 Java 环境
Hadoop 依赖 Java 运行,需先安装 OpenJDK(推荐 8 或 11 版本):
sudo apt update
sudo apt install default-jdk
# 验证安装
java -version # 应输出 Java 版本信息
javac -version # 应输出 Java 编译器版本
2. 下载并解压 Hadoop
从 Apache 官网下载稳定版 Hadoop(如 3.3.4),解压至指定目录(如 /usr/local/hadoop):
wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz
sudo tar -xzvf hadoop-3.3.4.tar.gz -C /usr/local/
sudo mv /usr/local/hadoop-3.3.4 /usr/local/hadoop
# 设置权限
sudo chown -R $USER:$USER /usr/local/hadoop
3. 配置 Hadoop 核心文件
进入 Hadoop 配置目录,修改以下文件:
cd /usr/local/hadoop/etc/hadoop
-
hadoop-env.sh:设置 Java 环境变量(找到JAVA_HOME行,取消注释并修改):export JAVA_HOME=/usr/lib/jvm/default-java # Ubuntu 默认 Java 路径 -
core-site.xml:配置 HDFS 默认文件系统和临时目录:<configuration> <property> <name>fs.defaultFSname> <value>hdfs://localhost:9000value> property> <property> <name>hadoop.tmp.dirname> <value>/usr/local/hadoop/tmpvalue> property> configuration> -
hdfs-site.xml:配置 NameNode 和 DataNode 数据存储路径及副本数(伪分布式副本数为 1):<configuration> <property> <name>dfs.replicationname> <value>1value> property> <property> <name>dfs.namenode.name.dirname> <value>file:/usr/local/hadoop/tmp/dfs/namevalue> property> <property> <name>dfs.datanode.data.dirname> <value>file:/usr/local/hadoop/tmp/dfs/datavalue> property> configuration>
4. 格式化 NameNode
首次启动前需格式化 NameNode(仅一次,多次格式化会清空 HDFS 数据):
hdfs namenode -format
# 成功输出应包含 "successfully formatted"
5. 启动 Hadoop 集群
启动 HDFS 和 YARN 服务(伪分布式无需单独启动 ResourceManager 和 NodeManager,start-dfs.sh 会一并启动):
start-dfs.sh # 启动 HDFS
start-yarn.sh # 启动 YARN(可选,但建议开启)
-
验证进程:运行
jps查看是否启动以下进程:NameNode # HDFS 主节点 DataNode # HDFS 数据节点 SecondaryNameNode # HDFS 辅助节点(可选) ResourceManager # YARN 资源管理器(可选) NodeManager # YARN 节点管理器(可选) -
访问 Web 界面:
- HDFS Web 界面:
http://localhost:9870(查看 NameNode、DataNode 状态) - YARN ResourceManager:
http://localhost:8088(查看集群资源使用情况)
- HDFS Web 界面:
6. 测试 HDFS 基本操作
通过 HDFS Shell 命令验证文件系统功能:
# 在 HDFS 中创建用户目录(需替换为你的用户名)
hdfs dfs -mkdir -p /user/$USER
# 将本地文件上传至 HDFS(以 Hadoop 自带的 XML 文件为例)
hdfs dfs -mkdir /user/$USER/input
hdfs dfs -put $HADOOP_HOME/etc/hadoop/*.xml /user/$USER/input
# 查看 HDFS 中的文件列表
hdfs dfs -ls /user/$USER/input
7. 运行 MapReduce 示例(WordCount)
Hadoop 自带 wordcount 程序,用于统计文本文件中单词出现次数:
# 删除已有输出目录(避免重复运行报错)
hdfs dfs -rm -r /user/$USER/output
# 运行 WordCount 程序(输入路径:HDFS 中的 input 目录;输出路径:HDFS 中的 output 目录)
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar wordcount /user/$USER/input /user/$USER/output
# 查看输出结果(HDFS 中的 part-r-00000 文件)
hdfs dfs -cat /user/$USER/output/part-r-00000
输出示例:
hadoop 3
mapreduce 2
8. 常见问题排查
JAVA_HOME not set:检查hadoop-env.sh中的JAVA_HOME路径是否正确。Connection refused:检查防火墙是否关闭(sudo ufw disable),或端口是否被占用。Output directory already exists:删除已有输出目录后再运行任务(hdfs dfs -rm -r /user/$USER/output)。
通过以上步骤,可在 Ubuntu 上完成 Hadoop 的基本功能测试,验证 HDFS 和 MapReduce 是否正常运行。
以上就是关于“如何在 Ubuntu 上进行 Hadoop 测试”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm