当前位置:首页 > Linux > 正文

Linux如何快速安装Hadoop?

在Linux安装Hadoop需先配置Java环境,下载Hadoop发行版,解压后编辑核心配置文件如 core-site.xmlhdfs-site.xml等,设置必要参数和集群节点信息,配置环境变量后,初始化HDFS并启动集群服务。

如何在 Linux 下安装 Hadoop:详细分步指南

Hadoop 是 Apache 基金会开发的开源分布式计算框架,专为处理海量数据设计,在 Linux 系统上安装 Hadoop 是构建大数据平台的基础步骤,本指南以 Ubuntu 22.04 LTS 为例,详细演示安装过程(其他 Linux 发行版可参考调整)。


安装前准备

  1. 系统要求

    • 操作系统:Ubuntu/CentOS 等主流 Linux 发行版
    • 内存:≥ 4GB(建议 8GB+)
    • 存储:≥ 20GB 空闲空间
    • Java:必须安装 JDK 8 或 11(Hadoop 3.x+ 支持)
  2. 环境配置

    # 更新系统并安装依赖
    sudo apt update && sudo apt upgrade -y
    sudo apt install ssh openjdk-11-jdk -y
    # 配置 SSH 免密登录(Hadoop 节点通信必需)
    ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys
  3. 创建专用用户(推荐)

    sudo adduser hadoopuser
    sudo usermod -aG sudo hadoopuser
    su - hadoopuser  # 切换到新用户

Hadoop 安装步骤

  1. 下载并解压 Hadoop

    Linux如何快速安装Hadoop?  第1张

    wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
    tar -xzvf hadoop-3.3.6.tar.gz
    mv hadoop-3.3.6 ~/hadoop
  2. 配置环境变量
    编辑 ~/.bashrc 文件,末尾添加:

    export HADOOP_HOME=~/hadoop
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64  # 根据实际路径调整

    生效配置:

    source ~/.bashrc
  3. 修改 Hadoop 配置文件

    • $HADOOP_HOME/etc/hadoop/hadoop-env.sh
      export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
    • $HADOOP_HOME/etc/hadoop/core-site.xml
      <configuration>
        <property>
          <name>fs.defaultFS</name>
          <value>hdfs://localhost:9000</value>
        </property>
      </configuration>
    • $HADOOP_HOME/etc/hadoop/hdfs-site.xml
      <configuration>
        <property>
          <name>dfs.replication</name>
          <value>1</value>  <!-- 单节点设为1,集群按需调整 -->
        </property>
        <property>
          <name>dfs.namenode.name.dir</name>
          <value>file:///home/hadoopuser/hadoop_data/hdfs/namenode</value>
        </property>
        <property>
          <name>dfs.datanode.data.dir</name>
          <value>file:///home/hadoopuser/hadoop_data/hdfs/datanode</value>
        </property>
      </configuration>
    • $HADOOP_HOME/etc/hadoop/mapred-site.xml
      <configuration>
        <property>
          <name>mapreduce.framework.name</name>
          <value>yarn</value>
        </property>
      </configuration>
    • $HADOOP_HOME/etc/hadoop/yarn-site.xml
      <configuration>
        <property>
          <name>yarn.nodemanager.aux-services</name>
          <value>mapreduce_shuffle</value>
        </property>
      </configuration>
  4. 格式化 HDFS

    hdfs namenode -format  # 首次安装必须执行

启动 Hadoop 集群

# 启动 HDFS
start-dfs.sh
# 启动 YARN
start-yarn.sh
# 验证进程是否运行
jps

预期输出应包含:

NameNode
DataNode
ResourceManager
NodeManager

验证安装

  1. 访问 Web 管理界面

    • NameNode: http://localhost:9870
    • YARN: http://localhost:8088
  2. 运行测试任务

    # 创建 HDFS 目录
    hdfs dfs -mkdir /test
    hdfs dfs -put $HADOOP_HOME/etc/hadoop/*.xml /test
    # 执行 MapReduce 示例
    hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar grep /test /output 'dfs[a-z.]+'
    # 查看结果
    hdfs dfs -cat /output/*

    成功输出应显示匹配的单词统计。


常见问题解决

  • SSH 连接错误
    确保 sshd 服务运行:sudo systemctl status ssh
  • Java 路径错误
    update-alternatives --config java 确认 JAVA_HOME
  • 端口冲突
    检查 900098708088 端口是否被占用
  • 权限问题
    所有操作需在非 root 用户下执行,数据目录权限需匹配用户

安全注意事项

  1. 生产环境必须配置:
    • 防火墙规则限制访问
    • Kerberos 认证
    • HDFS 目录权限控制
  2. 定期备份 NameNode 元数据
  3. 避免使用 root 用户运行 Hadoop 服务

引用说明
本文基于 Apache Hadoop 官方文档编写,参考资源:

  • Hadoop 3.3.6 安装指南
  • HDFS 架构设计
  • Ubuntu 22.04 官方仓库

提示:集群部署需同步配置所有节点的 core-site.xmlhdfs-site.xml,并在 workers 文件中添加节点主机名,建议使用 Ansible 或 Puppet 自动化部署。

0