如何在 Debian 上使用 Hadoop 工具

在 Debian 上使用 Hadoop 工具一 环境准备安装 Java(Hadoop 3.x 建议使用 OpenJDK 8 或 11):安装 OpenJDK 11:sudo apt update && sudo apt install -y openjdk-11-jdk验证:java -version安装与配置 SSH(用于节点间通信与启动脚本):安装:sudo apt install -y

Debian 上使用 Hadoop 工具

一 环境准备

  • 安装 Java(Hadoop 3.x 建议使用 OpenJDK 8 或 11):
    • 安装 OpenJDK 11:sudo apt update && sudo apt install -y openjdk-11-jdk
    • 验证:java -version
  • 安装与配置 SSH(用于节点间通信与启动脚本):
    • 安装:sudo apt install -y openssh-server
    • 生成密钥:ssh-keygen -t rsa -P “”
    • 免密登录本机:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys && ssh localhost
  • 创建专用用户(可选但推荐):sudo adduser hadoop && sudo usermod -aG sudo hadoop
  • 规划主机名与网络(多机集群时):
    • 在 /etc/hosts 中写入各节点 IP 与主机名(如 master、worker1…)
    • 确保各节点之间可通过主机名互相 SSH 登录

二 安装与配置 Hadoop

  • 下载并解压(示例为 3.3.1,可按需替换为更新稳定版):
    • 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 /usr/local/
    • sudo mv /usr/local/hadoop-3.3.1 /usr/local/hadoop
  • 设置环境变量(对所有节点配置,建议写入 /etc/profile.d/hadoop.sh):
    • export HADOOP_HOME=/usr/local/hadoop
    • export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    • 使生效:source /etc/profile 或 source ~/.bashrc
  • 配置 Hadoop 环境脚本($HADOOP_HOME/etc/hadoop/hadoop-env.sh):
    • 设置 JAVA_HOME(按实际路径):export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
  • 核心配置文件($HADOOP_HOME/etc/hadoop/):
    • core-site.xml
      • – fs.defaultFShdfs://master:9000

    • hdfs-site.xml
      • – dfs.replication1
        – dfs.namenode.name.dir/usr/local/hadoop/hdfs/name
        – dfs.datanode.data.dir/usr/local/hadoop/hdfs/data

    • mapred-site.xml
      • – mapreduce.framework.nameyarn

    • yarn-site.xml
      • – yarn.nodemanager.aux-servicesmapreduce_shuffle
        – yarn.nodemanager.aux-services.mapreduce.shuffle.classorg.apache.hadoop.mapred.ShuffleHandler
        – yarn.resourcemanager.hostnamemaster

  • 创建数据目录并授权(示例):
    • sudo mkdir -p /usr/local/hadoop/hdfs/{name,data}
    • sudo chown -R hadoop:hadoop /usr/local/hadoop

三 启动与验证

  • 格式化 HDFS(仅在 NameNode 执行一次):hdfs namenode -format
  • 启动集群:
    • 启动 HDFS:start-dfs.sh
    • 启动 YARN:start-yarn.sh
  • 进程检查:
    • jps(应看到 NameNode、DataNode、ResourceManager、NodeManager 等进程)
  • 访问 Web UI:
    • NameNode:http://master:9870
    • ResourceManager:http://master:8088
  • 基本连通性验证:
    • hadoop version
    • hdfs dfsadmin -report

四 运行示例作业

  • 准备输入数据到 HDFS:
    • hdfs dfs -mkdir -p /input
    • hdfs dfs -put $HADOOP_HOME/etc/hadoop/*.xml /input
  • 提交 WordCount(示例 JAR 路径随版本变化,请按实际调整):
    • hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount /input /output
  • 查看结果:
    • hdfs dfs -cat /output/part-r-00000
  • 注意:输出目录 /output 必须不存在,否则作业会报错

五 常见问题与优化

  • 目录权限与路径:确保 HADOOP_HOME、HDFS 数据目录 所属用户为运行 Hadoop 的用户(如 hadoop),否则可能启动失败或无法写入
  • SSH 免密:多机部署时,主节点需对 所有工作节点 执行 ssh-copy-id,保证 start-dfs.sh/start-yarn.sh 能无密登录
  • Java 版本匹配:Hadoop 3.3.x 与 OpenJDK 8/11 均可用,避免混用不同厂商 JDK;hadoop-env.sh 中的 JAVA_HOME 必须与实际安装路径一致
  • 防火墙与端口:开放 9870(NameNode UI)8088(YARN UI)9000(HDFS RPC) 等端口,或在内网环境关闭防火墙
  • 资源与性能:
    • 合理设置 dfs.replication(单机测试用 1,生产建议 ≥ 3)
    • 根据内存与 CPU 为 YARN 配置容器资源(如 yarn.nodemanager.resource.memory-mb、yarn.scheduler.maximum-allocation-mb)
    • 作业优化:使用高效数据格式(如 Parquet/ORC)、合理设置 Map/Reduce 数量、分区与分桶等以加速处理

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/1460190.html

(0)
派派
上一篇 2025-11-27
下一篇 2025-11-27

发表回复

登录后才能评论