Hadoop 2.7.1 伪分布式部署实战单机模拟集群的完整指南1. 伪分布式模式的核心价值伪分布式模式是Hadoop学习者的黄金起点。与完全分布式相比它在单台机器上模拟了多节点集群的所有关键组件包括NameNodeHDFS的元数据管理者DataNode实际存储数据块的节点ResourceManagerYARN资源调度核心NodeManager单个节点的资源执行者这种模式的最大优势在于资源友好仅需一台配置适中的Linux服务器建议4核CPU/8GB内存学习曲线平滑避免了多机器网络配置的复杂性完整功能验证可测试HDFS读写、YARN任务调度等核心机制提示生产环境请使用完全分布式部署伪分布式仅适用于开发测试2. 环境准备关键步骤2.1 系统基础配置# 设置主机名需root权限 hostnamectl set-hostname hadoop-pseudo exec bash # 检查SSH服务状态 systemctl status sshd # 关闭防火墙学习环境建议操作 systemctl stop firewalld systemctl disable firewalld # 创建专用用户 useradd hadoop echo hadoop123 | passwd --stdin hadoop2.2 JDK 1.8安装# 解压JDK到指定目录 tar -zxvf jdk-8u221-linux-x64.tar.gz -C /usr/local/ # 设置环境变量/etc/profile末尾追加 export JAVA_HOME/usr/local/jdk1.8.0_221 export PATH$PATH:$JAVA_HOME/bin # 立即生效并验证 source /etc/profile java -version3. Hadoop核心配置详解3.1 关键配置文件修改core-site.xml- 全局基础配置configuration property namefs.defaultFS/name valuehdfs://localhost:9000/value /property property namehadoop.tmp.dir/name value/opt/hadoop/tmp/value /property /configurationhdfs-site.xml- HDFS专属配置configuration property namedfs.replication/name value1/value /property property namedfs.namenode.name.dir/name value/opt/hadoop/dfs/name/value /property property namedfs.datanode.data.dir/name value/opt/hadoop/dfs/data/value /property /configurationyarn-site.xml- YARN资源配置configuration property nameyarn.nodemanager.aux-services/name valuemapreduce_shuffle/value /property property nameyarn.resourcemanager.hostname/name valuelocalhost/value /property /configuration3.2 目录权限设置# 创建必要目录 mkdir -p /opt/hadoop/{tmp,dfs/{name,data}} # 权限变更 chown -R hadoop:hadoop /opt/hadoop chmod -R 755 /opt/hadoop4. 集群启动与验证4.1 初始化HDFS# 切换hadoop用户 su - hadoop # 格式化NameNode首次执行 hdfs namenode -format # 启动HDFS服务 start-dfs.sh4.2 启动YARN服务start-yarn.sh # 验证进程 jps预期输出应包含NameNodeDataNodeResourceManagerNodeManagerSecondaryNameNode4.3 Web UI访问服务访问地址默认端口HDFS状态http://localhost:5007050070YARN管理http://localhost:808880885. WordCount实战测试5.1 准备测试数据# 创建本地输入文件 echo -e Hello Hadoop\nHello World\nHello Pseudodistributed input.txt # 上传到HDFS hdfs dfs -mkdir /input hdfs dfs -put input.txt /input5.2 执行MapReduce作业hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar \ wordcount /input /output5.3 查看结果# 查看输出目录 hdfs dfs -ls /output # 显示统计结果 hdfs dfs -cat /output/part-r-00000预期输出示例Hadoop 1 Hello 3 Pseudodistributed 1 World 16. 常见问题排查指南6.1 端口冲突处理若遇到端口占用问题可通过以下命令检查netstat -tulnp | grep 端口号6.2 关键日志位置组件日志路径NameNode$HADOOP_HOME/logs/hadoop--namenode-.logDataNode$HADOOP_HOME/logs/hadoop--datanode-.logYARN$HADOOP_HOME/logs/yarn--resourcemanager-.log6.3 安全停止集群stop-yarn.sh stop-dfs.sh