温馨提示×

Ubuntu Hadoop配置步骤是什么

小樊
34
2025-12-10 21:32:12
栏目: 智能运维

Ubuntu 上配置 Hadoop 的标准步骤


一 环境准备

  • 创建专用用户(推荐):sudo addgroup hadoop && sudo adduser --ingroup hadoop hadoop,后续操作均在该用户下进行。
  • 安装 Java(二选一):sudo apt update && sudo apt install openjdk-11-jdk(或 openjdk-8-jdk);验证:java -version。
  • 安装 SSH 并配置免密登录:sudo apt-get install openssh-server;在每台机器执行 ssh-keygen -t rsa,将公钥(id_rsa.pub)追加到各节点的 ~/.ssh/authorized_keys,实现节点间免密互信(含本机 ssh localhost)。
  • 规划目录:建议为 Hadoop 准备数据与临时目录,如 /usr/local/hadoop/data/{namenode,datanode} 或 ~/hadoop/{tmp,hdfs/{name,data}},并确保运行用户对目录有读写权限。

二 安装与环境变量

  • 下载并解压 Hadoop(示例版本 3.3.x):
    wget https://downloads.apache.org/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz
    sudo tar -xzvf 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 JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
    export HADOOP_HOME=/usr/local/hadoop
    export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    使生效:source ~/.bashrc(或 source /etc/profile)。
  • 验证:hadoop version 应输出版本信息。

三 核心配置

  • 配置文件路径:$HADOOP_HOME/etc/hadoop/。
  • 关键配置示例:
    • core-site.xml
      fs.defaultFShdfs://localhost:9000 hadoop.tmp.dirfile:/usr/local/hadoop/tmp
    • hdfs-site.xml(单机伪分布式用 1 副本;完全分布式按数据节点数设置)
      dfs.replication1 dfs.namenode.name.dirfile:/usr/local/hadoop/hdfs/namenode dfs.datanode.data.dirfile:/usr/local/hadoop/hdfs/datanode
    • mapred-site.xml(由模板复制:cp mapred-site.xml.template mapred-site.xml)
      mapreduce.framework.nameyarn
    • yarn-site.xml
      yarn.resourcemanager.hostnamelocalhost yarn.nodemanager.aux-servicesmapreduce_shuffle yarn.nodemanager.aux-services.mapreduce.shuffle.classorg.apache.hadoop.mapred.ShuffleHandler
    • hadoop-env.sh:显式设置 export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64(避免找不到 JDK)。
    • workers(Hadoop 3.x 使用 workers 文件列出从节点主机名;单机可保留 localhost)。

四 启动与验证

  • 首次启动前格式化 HDFS:hdfs namenode -format。
  • 启动集群:start-dfs.sh 与 start-yarn.sh(或使用 start-all.sh 一次性启动)。
  • 进程检查:jps 应看到 NameNode、DataNode、SecondaryNameNode(若配置)、ResourceManager、NodeManager。
  • Web 界面:
    • HDFS NameNode:Hadoop 2.x 常用 http://localhost:50070;Hadoop 3.x 使用 http://localhost:9870
    • YARN ResourceManager:http://localhost:8088
  • 基本 HDFS 验证:hdfs dfs -ls /;如有权限问题可先创建目录:hdfs dfs -mkdir -p /user/$USER。

五 常见问题与扩展

  • Java 路径问题:若启动报找不到 JDK,优先在 hadoop-env.sh 中显式设置 JAVA_HOME;不同发行版 OpenJDK 路径可能不同(如 /usr/lib/jvm/java-11-openjdk-amd64)。
  • SSH 免密失败:确认 authorized_keys 权限为 600,.ssh 目录权限为 700;必要时在本机先 ssh localhost 生成 .ssh 目录。
  • 端口与主机名:确保 /etc/hosts 或 DNS 正确解析各节点主机名;云服务器需开放 9000/9870/8088 等端口的安全组规则。
  • 完全分布式要点:
    • 在 core-site.xml 将 fs.defaultFS 设为 hdfs://:9000;
    • workers 文件列出所有从节点主机名;
    • 在 master 能免密 SSH 到所有 slave;
    • dfs.replication 建议与数据节点数一致;
    • 首次只在 master 执行 namenode -format,然后 start-dfs.sh/start-yarn.sh 启动集群。

0