当前位置:首页 > 问答 > 正文

大数据|集群搭建 Hadoop伪分布式环境详细操作步骤全流程指南

大数据 | 集群搭建 Hadoop伪分布式环境详细操作步骤全流程指南

2025年8月最新动态:随着AI与大数据技术的深度融合,Hadoop生态系统的应用场景进一步扩展,Apache基金会宣布Hadoop 4.0正式进入测试阶段,优化了资源调度与存储效率,但稳定版仍推荐使用3.x系列,对于初学者和本地开发环境,伪分布式模式依然是快速上手的最佳选择。


准备工作:软硬件环境确认

硬件要求

  • 内存:至少4GB(建议8GB以上,Hadoop吃内存大户)
  • 磁盘空间:20GB可用空间(数据存储需要预留)
  • 系统:Linux(Ubuntu/CentOS推荐)或 macOS,Windows需通过WSL2运行

软件依赖

  • Java:JDK 8或11(OpenJDK或Oracle JDK均可)
    # 检查Java版本
    java -version
  • SSH免密登录:Hadoop脚本依赖SSH管理节点
    # 安装SSH服务(Ubuntu示例)
    sudo apt install openssh-server
    ssh-keygen -t rsa   # 生成密钥,一路回车
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys
    # 测试本地SSH登录
    ssh localhost

Hadoop安装与配置

下载并解压

从Apache官网获取稳定版(以Hadoop 3.3.6为例):

wget https://archive.apache.org/dist/hadoop/core/hadoop-3.3.6/hadoop-3.3.6.tar.gz
tar -xzvf hadoop-3.3.6.tar.gz -C /opt  # 解压到/opt目录
sudo chown -R $USER:$USER /opt/hadoop-3.3.6  # 权限处理

环境变量配置

编辑~/.bashrc文件,追加以下内容:

export HADOOP_HOME=/opt/hadoop-3.3.6
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64  # 根据实际路径修改

执行source ~/.bashrc生效。


核心配置文件修改

进入$HADOOP_HOME/etc/hadoop/目录,修改以下文件:

大数据|集群搭建 Hadoop伪分布式环境详细操作步骤全流程指南

hadoop-env.sh

指定Java路径:

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

core-site.xml

配置HDFS地址和临时目录:

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/tmp/hadoop-tmp</value>  # 需手动创建该目录
  </property>
</configuration>

hdfs-site.xml

设置副本数(伪分布式设为1):

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
</configuration>

mapred-site.xml

指定YARN为计算框架:

大数据|集群搭建 Hadoop伪分布式环境详细操作步骤全流程指南

<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>

yarn-site.xml

启用MapReduce的Shuffle服务:

<configuration>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
</configuration>

启动与验证

格式化HDFS

仅第一次运行需要

hdfs namenode -format

启动集群

start-dfs.sh    # 启动HDFS
start-yarn.sh   # 启动YARN

检查服务

  • JPS命令查看进程:
    jps
    # 应显示:NameNode、DataNode、ResourceManager、NodeManager等
  • Web UI访问
    • HDFS:http://localhost:9870
    • YARN:http://localhost:8088

测试WordCount

上传文件到HDFS并运行示例程序:

hdfs dfs -mkdir /input
hdfs dfs -put $HADOOP_HOME/LICENSE.txt /input
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar wordcount /input /output
hdfs dfs -cat /output/*

常见问题排查

  1. 端口冲突:若9000或8088端口被占用,修改配置文件中的端口号。
  2. 权限错误:确保/tmp/hadoop-tmp目录存在且用户有读写权限。
  3. SSH登录失败:检查~/.ssh/authorized_keys权限是否为600。

:完成以上步骤后,你的伪分布式Hadoop环境已就绪!这种模式虽不能用于生产,但足够学习MapReduce编程和HDFS操作,如果想进一步深入,可以尝试添加多个节点扩展为完全分布式集群。

大数据|集群搭建 Hadoop伪分布式环境详细操作步骤全流程指南

(注:本文基于2025年8月主流技术栈整理,具体路径请根据实际环境调整。)

发表评论