温馨提示×

Debian Hadoop如何安装配置

小樊
39
2025-12-21 05:07:54
栏目: 智能运维

Debian 上安装与配置 Hadoop 实操指南

一 环境准备

  • 规划角色与主机名:至少准备 1 台 NameNode + ResourceManager(master)1 台及以上 DataNode + NodeManager(workerN);在 /etc/hosts 中写入所有节点的 IP 与主机名,确保节点间可互相解析。
  • 安装基础工具与 Java:
    • 安装 OpenJDK(推荐 Java 8 或 11):sudo apt update && sudo apt install -y openjdk-11-jdk
    • 验证:java -version
  • 创建专用用户(可选但推荐):sudo adduser hadoop && sudo usermod -aG sudo hadoop
  • 配置 SSH 免密(以 hadoop 用户执行):
    • ssh-keygen -t rsa -b 2048
    • ssh-copy-id master
    • ssh-copy-id worker1(对每台 worker 重复)
  • 关闭防火墙或放行端口(测试环境可直接关闭):sudo ufw disable
    以上准备可确保 Hadoop 各守护进程正常通信与启动。

二 安装 Hadoop

  • 下载并解压(示例以 3.3.6 为例,可按需替换为新版本):
    • wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
    • sudo tar -xzf hadoop-3.3.6.tar.gz -C /usr/local
    • sudo ln -sfn /usr/local/hadoop-3.3.6 /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-env.sh 中显式设置 JAVA_HOME(路径以本机为准):
    • echo ‘export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64’ >> $HADOOP_HOME/etc/hadoop/hadoop-env.sh
      以上完成 Hadoop 二进制安装与基础环境设置。

三 核心配置

  • 统一配置目录:$HADOOP_HOME/etc/hadoop/,以下为最小可用示例(单机或伪分布式可直接使用;集群需把主机名替换为实际主机)。
  • core-site.xml
    • - fs.defaultFShdfs://master:9000 - hadoop.tmp.dir/data/hadoop/tmp
  • hdfs-site.xml
    • - dfs.replication1 - dfs.namenode.name.dirfile:///data/hadoop/hdfs/name - dfs.datanode.data.dirfile:///data/hadoop/hdfs/data
  • mapred-site.xml(如文件不存在,先 cp mapred-site.xml.template 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 /data/hadoop/{tmp,hdfs/{name,data}}
    • sudo chown -R hadoop:hadoop /data/hadoop
      以上配置覆盖 HDFS、YARN 与 MapReduce 的最小运行需求。

四 启动与验证

  • 仅在 NameNode 上格式化 HDFS:
    • hdfs namenode -format
  • 启动服务:
    • 启动 HDFS:start-dfs.sh(在 NameNode 执行)
    • 启动 YARN:start-yarn.sh(在 ResourceManager 执行)
  • 进程检查:
    • jps(应看到 NameNode、DataNode、ResourceManager、NodeManager 等进程)
  • 功能性测试(以 hadoop 用户):
    • 准备输入:mkdir ~/input && echo -e “Hello World\nHello Hadoop” > ~/input/data.txt
    • 运行 WordCount:
      • hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar wordcount ~/input/data.txt ~/output
    • 查看结果:cat ~/output/part-r-00000
  • Web UI(默认端口):
    • HDFS NameNode:http://master:9870
    • YARN ResourceManager:http://master:8088
      以上步骤可快速验证 Hadoop 安装是否成功。

五 常见问题与优化

  • 常见故障排查
    • 节点无法互通:检查 /etc/hosts、防火墙(sudo ufw disable 或放行端口)、SELinux/AppArmor 策略。
    • SSH 免密失败:确认 ~/.ssh/authorized_keys 权限为 600,目录 ~/.ssh700
    • 权限错误:Hadoop 目录与数据目录属主应为 hadoop:hadoop,否则进程无法写入。
    • 端口占用:检查并释放 9000/9870/8088/50070 等端口,或调整配置。
  • 性能与容量建议
    • 角色规划:NameNode/ResourceManager 资源应优于 DataNode/NodeManager;NameNode 建议使用 SSD
    • 硬件基线:每节点至少 4 核 CPU、16GB 内存;DataNode 存储按数据量规划,建议 ≥2TB/节点
    • 网络:优先 千兆以上 以太网,生产环境推荐 万兆
    • 参数调优:根据负载调整 YARN 容器内存/核数HDFS 副本数(dfs.replication)NameNode/DataNode 处理线程与目录 等。
      以上做法可显著提升稳定性与吞吐。

0