首页主机资讯Ubuntu Hadoop集群搭建指南

Ubuntu Hadoop集群搭建指南

时间2025-12-05 14:53:03发布访客分类主机资讯浏览744
导读:Ubuntu Hadoop 集群搭建指南 一 环境准备与规划 节点规划:至少准备1 个 Master 和 2 个 Worker(示例主机名:master、slave1、slave2),所有节点在同一局域网,能互相 ping 通。 软件版本...

Ubuntu Hadoop 集群搭建指南

一 环境准备与规划

  • 节点规划:至少准备1 个 Master2 个 Worker(示例主机名:master、slave1、slave2),所有节点在同一局域网,能互相 ping 通。
  • 软件版本:Ubuntu 16.04+、Java OpenJDK 8、Hadoop 3.3.x(如 3.3.4)。
  • 用户与权限:建议创建专用用户 hadoop 并加入 sudo 组,后续操作尽量使用该用户。
  • 目录约定:Hadoop 安装至 /usr/local/hadoop,数据目录如 /opt/hadoop(可按磁盘规划调整)。
  • 网络与主机名:配置 /etc/hosts 做主机名与内网 IP 映射,便于组件间通信。

二 基础环境配置

  • 安装 Java
    • 执行:sudo apt update & & sudo apt install -y openjdk-8-jdk
    • 验证:java -version 应返回 1.8.x
  • 创建 Hadoop 用户与目录
    • 执行:sudo adduser hadoopsudo usermod -aG sudo hadoop
    • 建议目录:sudo mkdir -p /usr/local/hadoop /opt/hadoop & & sudo chown -R hadoop:hadoop /usr/local/hadoop /opt/hadoop
  • 配置主机名与 hosts
    • 编辑 /etc/hostname 分别设为 master/slave1/slave2
    • 编辑 /etc/hosts(示例):
      192.168.1.10 master
      192.168.1.11 slave1
      192.168.1.12 slave2
      
  • 安装并启用 SSH
    • 执行:sudo apt install -y openssh-server
    • 验证:ssh localhost 可免密登录本机(用于后续分发公钥)。

三 SSH 免密登录

  • master 生成密钥:ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
  • 将公钥分发到所有节点(含本机):
    • ssh-copy-id hadoop@masterssh-copy-id hadoop@slave1ssh-copy-id hadoop@slave2
  • 验证:ssh slave1ssh slave2 无需密码即可登录;如需 Worker 免密回连 Master,可在对应节点重复上述分发步骤。

四 Hadoop 安装与配置

  • 安装 Hadoop(以 3.3.4 为例)
    • 下载:wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz
    • 解压与授权:
      sudo tar -xvf hadoop-3.3.4.tar.gz -C /usr/local
      sudo mv /usr/local/hadoop-3.3.4 /usr/local/hadoop
      sudo chown -R hadoop:hadoop /usr/local/hadoop
      
  • 环境变量(所有节点)
    • ~/.bashrc/etc/profile.d/hadoop.sh 添加:
      export HADOOP_HOME=/usr/local/hadoop
      export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
      
    • 使生效:source ~/.bashrc
  • 核心配置(路径均为 $HADOOP_HOME/etc/hadoop
    • core-site.xml
      <
          configuration>
          
        <
          property>
          
          <
          name>
          fs.defaultFS<
          /name>
          
          <
          value>
          hdfs://master:9000<
          /value>
          
        <
          /property>
          
        <
          property>
          
          <
          name>
          hadoop.tmp.dir<
          /name>
          
          <
          value>
          /opt/hadoop/tmp<
          /value>
          
        <
          /property>
          
      <
          /configuration>
          
      
    • hdfs-site.xml
      <
          configuration>
          
        <
          property>
          
          <
          name>
          dfs.replication<
          /name>
          
          <
          value>
          2<
          /value>
          
        <
          /property>
          
        <
          property>
          
          <
          name>
          dfs.namenode.name.dir<
          /name>
          
          <
          value>
          /opt/hadoop/hdfs/namenode<
          /value>
          
        <
          /property>
          
        <
          property>
          
          <
          name>
          dfs.datanode.data.dir<
          /name>
          
          <
          value>
          /opt/hadoop/hdfs/datanode<
          /value>
          
        <
          /property>
          
      <
          /configuration>
          
      
    • mapred-site.xml
      <
          configuration>
          
        <
          property>
          
          <
          name>
          mapreduce.framework.name<
          /name>
          
          <
          value>
          yarn<
          /value>
          
        <
          /property>
          
      <
          /configuration>
          
      
    • yarn-site.xml
      <
          configuration>
          
        <
          property>
          
          <
          name>
          yarn.resourcemanager.hostname<
          /name>
          
          <
          value>
          master<
          /value>
          
        <
          /property>
          
        <
          property>
          
          <
          name>
          yarn.nodemanager.aux-services<
          /name>
          
          <
          value>
          mapreduce_shuffle<
          /value>
          
        <
          /property>
          
        <
          property>
          
          <
          name>
          yarn.nodemanager.resource.memory-mb<
          /name>
          
          <
          value>
          4096<
          /value>
          
        <
          /property>
          
      <
          /configuration>
      
      
    • workers(或 slaves)
      slave1
      slave2
      
  • 创建数据目录并授权
    sudo mkdir -p /opt/hadoop/tmp /opt/hadoop/hdfs/{
    namenode,datanode}
        
    sudo chown -R hadoop:hadoop /opt/hadoop
    

五 启动与验证

  • 格式化 NameNode(仅 master 一次)
    • hdfs namenode -format
  • 启动集群
    • start-dfs.sh
    • start-yarn.sh
  • 进程检查
    • master 执行 jps,应看到:NameNode、ResourceManager
    • slave1/slave2 执行 jps,应看到:DataNode、NodeManager
  • Web 界面
    • HDFS:http://master:9870(Hadoop 3.x 默认端口)
    • YARN:http://master:8088
  • 常见问题速查
    • 无法访问 Web:检查防火墙/安全组放行 9870/8088,以及 workers 是否配置正确;
    • DataNode 未启动:确认 dfs.datanode.data.dir 目录存在且 hadoop 用户可写;
    • SSH 免密失败:确认 ~/.ssh/authorized_keys 权限为 600.ssh700

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu Hadoop集群搭建指南
本文地址: https://pptw.com/jishu/764754.html
debian yum如何删除所有缓存文件 如何在Ubuntu上高效运行Hadoop

游客 回复需填写必要信息