centos7.9单机搭建Hadoop3.3.6详细步骤

以下为CentOS 7.9单机部署Hadoop 3.3.6的详细步骤,整合多个权威来源的操作要点及注意事项:


📋 一、系统准备(root用户操作)

  1. 更新系统与基础工具

    sudo yum update -y
    sudo yum install -y wget tar ssh rsync vim
    
  2. 创建专用Hadoop用户

    sudo useradd hadoop  # 创建用户
    sudo passwd hadoop   # 设置密码(需输入两次)
    sudo usermod -aG wheel hadoop  # 赋予sudo权限 
    
  3. 配置SSH免密登录

    su - hadoop  # 切换用户
    ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys
    ssh localhost  # 验证免密登录(首次需输入yes)
    

二、安装Java环境

  1. 安装JDK 8

    sudo yum install -y java-1.8.0-openjdk-devel
    
  2. 配置环境变量
    编辑 ~/.bashrc

    export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which java))))
    export PATH=$JAVA_HOME/bin:$PATH
    

    生效配置:

    source ~/.bashrc
    java -version  # 验证输出应为1.8.x 
    

🐘 三、安装与配置Hadoop

  1. 下载并解压Hadoop

    wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
    sudo tar -xzvf hadoop-3.3.6.tar.gz -C /usr/local
    sudo mv /usr/local/hadoop-3.3.6 /usr/local/hadoop
    sudo chown -R hadoop:hadoop /usr/local/hadoop  # 权限修正 
    
  2. 配置环境变量
    编辑 ~/.bashrc

    export HADOOP_HOME=/usr/local/hadoop
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"  # 解决本地库警告 
    

    生效配置:source ~/.bashrc

  3. 修改核心配置文件

    • $HADOOP_HOME/etc/hadoop/hadoop-env.sh
      追加:
      export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which java))))
      
    • core-site.xml
      <configuration>
          <property>
              <name>fs.defaultFS</name>
              <value>hdfs://localhost:9000</value>
          </property>
      </configuration>
      
    • hdfs-site.xml
      <configuration>
          <property>
              <name>dfs.replication</name>
              <value>1</value>  <!-- 单机副本数设为1 -->
          </property>
          <property>
              <name>dfs.namenode.name.dir</name>
              <value>file:///usr/local/hadoop/data/namenode</value>
          </property>
          <property>
              <name>dfs.datanode.data.dir</name>
              <value>file:///usr/local/hadoop/data/datanode</value>
          </property>
      </configuration>
      
      创建数据目录:
      mkdir -p $HADOOP_HOME/data/{namenode,datanode}
      

🚀 四、启动与验证

  1. 格式化HDFS(仅首次执行)

    hdfs namenode -format  # 看到"successfully formatted"提示即为成功 
    
  2. 启动HDFS服务

    start-dfs.sh
    
  3. 验证服务状态

    • 进程检查:
      jps  # 应显示 NameNode、DataNode、SecondaryNameNode
      
    • HDFS状态报告:
      hdfs dfsadmin -report
      
    • Web UI访问:
      浏览器打开 http://<服务器IP>:9870(若本地访问可替换为localhost
  4. 运行测试任务

    hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar pi 2 4
    

⚠️ 关键注意事项

  1. 防火墙配置
    开放Web UI所需端口(CentOS 7):

    sudo firewall-cmd --permanent --add-port=9870/tcp  # NameNode UI
    sudo firewall-cmd --permanent --add-port=9864/tcp  # DataNode UI
    sudo firewall-cmd --reload
    
  2. 权限问题排查

    • 确保所有操作在hadoop用户下执行
    • 若启动失败,检查/usr/local/hadoop/logs/下的日志文件
  3. 重复格式化问题
    若需重新安装,需删除$HADOOP_HOME/data/目录并重新格式化,否则导致数据不一致

以上步骤经多来源验证,覆盖权限控制、环境变量、服务启动及防火墙配置全流程。若遇端口冲突可调整hdfs-site.xml中的dfs.namenode.http-address值 。

posted @ 2025-06-20 20:35  ARYOUOK  阅读(105)  评论(0)    收藏  举报