首页主机资讯Linux环境下Hadoop如何配置

Linux环境下Hadoop如何配置

时间2025-12-09 01:22:04发布访客分类主机资讯浏览1209
导读:Linux环境下Hadoop配置全流程 一 环境准备 操作系统与依赖 选择常见的 Ubuntu/CentOS/Debian 等发行版,建议至少 4GB 内存、20GB 磁盘(便于开发与测试)。 安装 Java 8 或 11(Hadoop...

Linux环境下Hadoop配置全流程

一 环境准备

  • 操作系统与依赖
    • 选择常见的 Ubuntu/CentOS/Debian 等发行版,建议至少 4GB 内存、20GB 磁盘(便于开发与测试)。
    • 安装 Java 8 或 11(Hadoop 3.x 常用 OpenJDK 8)。示例:sudo apt update & & sudo apt install openjdk-8-jdk,验证:java -version
  • SSH 服务与免密
    • 安装 SSH 服务:sudo apt install openssh-server
    • 生成密钥并配置本机免密:ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsacat ~/.ssh/id_rsa.pub > > ~/.ssh/authorized_keyschmod 0600 ~/.ssh/authorized_keys,验证:ssh localhost 无需密码即可登录。

二 安装与环境变量

  • 下载与解压
    • Apache Hadoop 官网下载稳定版本(如 3.3.1),解压到目标目录(如 /opt/usr/local):
      • wget https://downloads.apache.org/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz
      • sudo tar -xzvf hadoop-3.3.1.tar.gz -C /opt
  • 配置环境变量
    • 编辑 ~/.bashrc(或 /etc/profile.d/hadoop.sh):
      • export HADOOP_HOME=/opt/hadoop-3.3.1
      • export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    • 使配置生效:source ~/.bashrc。以上步骤完成后即可在任意目录使用 hdfsyarn 等命令。

三 核心配置

  • 配置目录与文件
    • 进入 $HADOOP_HOME/etc/hadoop,重点编辑:hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、workers
  • 关键配置示例(单机伪分布式,便于开发测试)
    • hadoop-env.sh:设置 JAVA_HOME(示例:/usr/lib/jvm/java-8-openjdk-amd64/usr/java/jdk1.8.0_xxx)。
    • core-site.xml:
      <
          configuration>
          
        <
          property>
          
          <
          name>
          fs.defaultFS<
          /name>
          
          <
          value>
          hdfs://localhost:9000<
          /value>
          
        <
          /property>
          
        <
          property>
          
          <
          name>
          hadoop.tmp.dir<
          /name>
          
          <
          value>
          /usr/local/hadoop-3.3.1/tmp<
          /value>
          
        <
          /property>
          
      <
          /configuration>
          
      
    • hdfs-site.xml:
      <
          configuration>
          
        <
          property>
          
          <
          name>
          dfs.replication<
          /name>
          
          <
          value>
          1<
          /value>
          
        <
          /property>
          
        <
          property>
          
          <
          name>
          dfs.namenode.name.dir<
          /name>
          
          <
          value>
          file:/usr/local/hadoop-3.3.1/hadoop_data/hdfs/namenode<
          /value>
          
        <
          /property>
          
        <
          property>
          
          <
          name>
          dfs.datanode.data.dir<
          /name>
          
          <
          value>
          file:/usr/local/hadoop-3.3.1/hadoop_data/hdfs/datanode<
          /value>
          
        <
          /property>
          
      <
          /configuration>
          
      
    • mapred-site.xml(若不存在可复制模板 cp mapred-site.xml.template mapred-site.xml):
      <
          configuration>
          
        <
          property>
          
          <
          name>
          mapreduce.framework.name<
          /name>
          
          <
          value>
          yarn<
          /value>
          
        <
          /property>
          
      <
          /configuration>
          
      
    • yarn-site.xml:
      <
          configuration>
          
        <
          property>
          
          <
          name>
          yarn.nodemanager.aux-services<
          /name>
          
          <
          value>
          mapreduce_shuffle<
          /value>
          
        <
          /property>
          
        <
          property>
          
          <
          name>
          yarn.nodemanager.aux-services.mapreduce.shuffle.class<
          /name>
          
          <
          value>
          org.apache.hadoop.mapred.ShuffleHandler<
          /value>
          
        <
          /property>
          
        <
          property>
          
          <
          name>
          yarn.resourcemanager.hostname<
          /name>
          
          <
          value>
          localhost<
          /value>
          
        <
          /property>
          
      <
          /configuration>
          
      
    • workers(单机保留 localhost;伪分布式与完全分布式见下一节)。

四 启动与验证

  • 首次启动前
    • 格式化 HDFS(仅首次):hdfs namenode -format
  • 启动服务
    • 启动 HDFS 与 YARN:
      • start-dfs.sh
      • start-yarn.sh
    • 或使用统一脚本:start-all.sh
  • 验证
    • 进程检查:jps,应看到 NameNode、DataNode、ResourceManager、NodeManager(单机伪分布式四者均在本机)。
    • HDFS 可用性:hdfs dfs -ls /
    • Web 界面(默认端口,视版本与配置可能不同):
      • HDFS NameNode:http://localhost:50070
      • YARN ResourceManager:http://localhost:8088
    • 停止服务:stop-dfs.shstop-yarn.shstop-all.sh

五 常见问题与扩展

  • 完全分布式快速要点
    • 规划节点角色(示例三节点):
      • 192.168.36.121 hadoop1:NameNode、DataNode、ResourceManager、NodeManager
      • 192.168.36.122 hadoop2:DataNode、NodeManager
      • 192.168.36.123 hadoop3:SecondaryNameNode、DataNode、NodeManager
    • 所有节点配置 /etc/hosts 映射,安装 JDK 并统一 HADOOP_HOME 与目录结构。
    • 配置 core-site.xmlfs.defaultFS 为主节点(如 hdfs://hadoop1:8020),workers 写入所有 DataNode 主机名(每行一个)。
    • 主节点配置到所有节点的 SSH 免密登录,便于启停集群。
    • 仅在 NameNode 执行 hdfs namenode -format,随后在主节点启动集群并验证进程与 Web 界面。
  • 目录与权限
    • 确保 hadoop.tmp.dirdfs.namenode.name.dirdfs.datanode.data.dir 等目录存在且 Hadoop 运行用户 有读写权限。
  • 版本与兼容性
    • Hadoop 3.x 推荐使用 JDK 8 或 11;不同发行版与版本在默认端口、服务名上可能存在差异,建议以实际环境为准。

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


若转载请注明出处: Linux环境下Hadoop如何配置
本文地址: https://pptw.com/jishu/766592.html
Hadoop在Linux上如何监控与管理 MinIO安装成功后如何配置客户端

游客 回复需填写必要信息