Hadoop 3.3.5 伪分布式部署:Ubuntu 22.04 单机 5 步配置与 Web UI 验证 📅 2026/7/11 9:19:41 Hadoop 3.3.5 伪分布式部署Ubuntu 22.04 单机 5 步配置与 Web UI 验证在数据爆炸式增长的时代Hadoop 作为大数据处理的基石框架其学习与实践价值不言而喻。对于开发者、学生或研究人员而言在个人开发环境中快速搭建一个可验证的 Hadoop 环境是掌握其核心机制的第一步。本文将聚焦 Hadoop 伪分布式模式在 Ubuntu 22.04 上的具体部署实操通过清晰的步骤分解和问题排查指南助你高效构建本地开发环境。1. 环境准备与基础配置在开始 Hadoop 部署前我们需要确保系统环境满足基本要求。Ubuntu 22.04 LTS 作为稳定的长期支持版本是理想的实验平台。以下是必须完成的准备工作系统要求Ubuntu 22.04 LTS64位至少 4GB 内存推荐 8GB20GB 可用磁盘空间已安装 SSH 服务首先创建专用的 hadoop 用户避免使用 root 账户操作带来的潜在风险sudo useradd -m hadoop -s /bin/bash sudo passwd hadoop # 设置密码如hadoop sudo adduser hadoop sudo # 授予sudo权限切换到 hadoop 用户并更新系统软件源su - hadoop sudo apt update sudo apt upgrade -y安装必要工具组件sudo apt install -y vim openssh-server pdshSSH 免密登录配置是 Hadoop 节点间通信的基础即使单机伪分布式也需要此配置ssh-keygen -t rsa -P -f ~/.ssh/id_rsa cat ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys验证 SSH 免密登录是否成功ssh localhost # 应直接登录无需密码 exit # 返回原会话2. Java 环境安装与验证Hadoop 3.3.5 需要 JDK 8 或更高版本。以下是 OpenJDK 11 的安装步骤sudo apt install -y openjdk-11-jdk配置 JAVA_HOME 环境变量echo export JAVA_HOME/usr/lib/jvm/java-11-openjdk-amd64 ~/.bashrc echo export PATH$PATH:$JAVA_HOME/bin ~/.bashrc source ~/.bashrc验证 Java 安装java -version预期输出应包含类似内容openjdk version 11.0.22 2024-01-16 OpenJDK Runtime Environment (build 11.0.227-post-Ubuntu-0ubuntu222.04.1) OpenJDK 64-Bit Server VM (build 11.0.227-post-Ubuntu-0ubuntu222.04.1, mixed mode)3. Hadoop 安装与核心配置从 Apache 官网下载 Hadoop 3.3.5 二进制包wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.5/hadoop-3.3.5.tar.gz解压并设置环境变量sudo tar -zxvf hadoop-3.3.5.tar.gz -C /usr/local/ sudo mv /usr/local/hadoop-3.3.5 /usr/local/hadoop sudo chown -R hadoop:hadoop /usr/local/hadoop配置 Hadoop 环境变量echo export HADOOP_HOME/usr/local/hadoop ~/.bashrc echo export PATH$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin ~/.bashrc echo export HADOOP_CONF_DIR$HADOOP_HOME/etc/hadoop ~/.bashrc source ~/.bashrc验证 Hadoop 安装hadoop version正确输出应显示Hadoop 3.3.5 Source code repository https://github.com/apache/hadoop.git -r a3b9c37a397ad4188041dd80621bdeefc46885f2 Compiled by ubuntu on 2023-07-19T12:32Z Compiled with protoc 3.7.14. 伪分布式模式配置伪分布式模式需要修改以下四个核心配置文件1. core-site.xml- 配置全局HDFS默认地址和临时目录configuration property namefs.defaultFS/name valuehdfs://localhost:9000/value /property property namehadoop.tmp.dir/name value/usr/local/hadoop/tmp/value /property /configuration2. hdfs-site.xml- 配置HDFS相关参数configuration property namedfs.replication/name value1/value /property property namedfs.namenode.name.dir/name valuefile://${hadoop.tmp.dir}/dfs/name/value /property property namedfs.datanode.data.dir/name valuefile://${hadoop.tmp.dir}/dfs/data/value /property /configuration3. mapred-site.xml- 配置MapReduce使用YARN框架configuration property namemapreduce.framework.name/name valueyarn/value /property /configuration4. yarn-site.xml- 配置YARN资源管理configuration property nameyarn.nodemanager.aux-services/name valuemapreduce_shuffle/value /property property nameyarn.nodemanager.env-whitelist/name valueJAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME/value /property /configuration5. 集群初始化与验证格式化HDFS Namenode首次启动前必须执行hdfs namenode -format成功格式化后应看到关键提示Storage directory /usr/local/hadoop/tmp/dfs/name has been successfully formatted.启动HDFS和YARN服务start-dfs.sh start-yarn.sh使用jps命令验证关键进程是否正常运行jps预期输出应包含NameNode DataNode SecondaryNameNode ResourceManager NodeManager JpsWeb UI 验证HDFS 管理界面http://localhost:9870YARN 资源管理器http://localhost:8088运行测试作业验证集群功能hdfs dfs -mkdir -p /user/hadoop/input hdfs dfs -put $HADOOP_HOME/etc/hadoop/*.xml /user/hadoop/input hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.5.jar grep /user/hadoop/input /user/hadoop/output dfs[a-z.] hdfs dfs -cat /user/hadoop/output/*常见问题排查指南问题1JAVA_HOME not setError: JAVA_HOME is not set and could not be found解决方案确认~/.bashrc中 JAVA_HOME 配置正确在$HADOOP_HOME/etc/hadoop/hadoop-env.sh中明确设置export JAVA_HOME/usr/lib/jvm/java-11-openjdk-amd64问题2端口冲突java.net.BindException: Port in use解决方案检查冲突端口netstat -tulnp | grep 端口号修改对应配置文件中的端口号或终止占用进程问题3Datanode无法启动Incompatible clusterIDs解决方案stop-dfs.sh rm -rf /usr/local/hadoop/tmp hdfs namenode -format start-dfs.sh性能优化建议对于开发环境可以通过以下配置提升伪分布式模式下的性能1. 内存调整在 yarn-site.xml 中property nameyarn.nodemanager.resource.memory-mb/name value4096/value !-- 根据实际内存调整 -- /property2. MapReduce内存限制在 mapred-site.xml 中property namemapreduce.map.memory.mb/name value1024/value /property property namemapreduce.reduce.memory.mb/name value2048/value /property3. HDFS块大小调整在 hdfs-site.xml 中property namedfs.blocksize/name value134217728/value !-- 128MB -- /property