首页主机资讯Debian Hadoop集群怎么搭建

Debian Hadoop集群怎么搭建

时间2025-12-15 08:40:04发布访客分类主机资讯浏览780
导读:在 Debian 上搭建 Hadoop 集群的实操步骤 一 环境与规划 操作系统与版本:建议使用 Debian 11/12,节点间网络互通,主机名可解析(/etc/hosts 或 DNS)。 Java:安装 JDK 8(推荐) 或 JD...

在 Debian 上搭建 Hadoop 集群的实操步骤


一 环境与规划

  • 操作系统与版本:建议使用 Debian 11/12,节点间网络互通,主机名可解析(/etc/hosts 或 DNS)。
  • Java:安装 JDK 8(推荐)JDK 11。示例命令(Debian 11/12 使用 Adoptium 仓库安装 JDK 8):
    • sudo apt update & & sudo apt install -y wget apt-transport-https
    • wget -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | sudo tee /etc/apt/keyrings/adoptium.asc
    • echo “deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://mirrors.tuna.tsinghua.edu.cn/Adoptium/deb $(awk -F= ‘/^VERSION_CODENAME/{ print$2} ’ /etc/os-release) main” | sudo tee /etc/apt/sources.list.d/adoptium.list
    • sudo apt update & & sudo apt install -y temurin-8-jdk
  • 用户与权限:建议创建 hadoop 用户并加入 sudo;所有 Hadoop 目录归属该用户(或统一使用 root,注意安全)。
  • 集群角色规划(示例):
    • masterNameNode + ResourceManager(可选 SecondaryNameNode
    • worker1/worker2/…DataNode + NodeManager
  • 目录规划(示例):/opt/hadoop,/opt/hadoop/hdfs/{ name,data} ,/opt/hadoop/logs(提前创建并赋权)。

二 基础环境准备

  • 主机名与解析:编辑 /etc/hosts(或 DNS),确保各节点可互相解析主机名,例如:
    • 192.168.50.201 master
    • 192.168.50.202 worker1
    • 192.168.50.203 worker2
  • SSH 免密登录(推荐主节点到所有节点免密,含本机):
    • 生成密钥:ssh-keygen -t rsa -C “hadoop@master”
    • 分发公钥:ssh-copy-id hadoop@worker1;ssh-copy-id hadoop@worker2;ssh-copy-id hadoop@master
    • 验证:ssh worker1、ssh worker2 无需口令
  • 防火墙与 SELinux:
    • Debian 11 默认无 SELinux;如使用 firewalld/ufw,请放行相关端口或临时关闭用于测试(生产环境按最小暴露原则放行)。
  • 创建 Hadoop 用户与目录(示例以 hadoop 用户为例):
    • sudo useradd -m -s /bin/bash hadoop & & sudo passwd hadoop
    • echo “hadoop ALL=(ALL) NOPASSWD:ALL” | sudo tee /etc/sudoers.d/hadoop
    • sudo chown -R hadoop:hadoop /opt/hadoop /opt/hadoop/hdfs /opt/hadoop/logs。

三 安装与配置 Hadoop

  • 安装 Hadoop(示例版本 3.3.6,亦可选择 3.3.x 或 2.10.x 稳定版):
    • 下载并解压:wget -P /root/packages https://dlcdn.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
    • sudo tar -zxvf /root/packages/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 JAVA_HOME=/usr/lib/jvm/temurin-8-jdk-amd64
    • export HADOOP_HOME=/usr/local/hadoop
    • export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    • 使生效:source /etc/profile
  • 关键配置($HADOOP_HOME/etc/hadoop/):
    • hadoop-env.sh:export JAVA_HOME=$JAVA_HOME
    • workers(或旧版 slaves):列出所有 worker 主机名,一行一个(worker1、worker2…)
    • core-site.xml:
      • fs.defaultFShdfs://master:8020
      • hadoop.tmp.dir/export/data/hadoop
      • hadoop.http.staticuser.userhadoop
    • hdfs-site.xml:
      • dfs.replication2
      • dfs.namenode.name.dirfile:///usr/local/hadoop/hdfs/name
      • dfs.datanode.data.dirfile:///usr/local/hadoop/hdfs/data
    • mapred-site.xml(如不存在先 cp mapred-site.xml.template mapred-site.xml):
      • mapreduce.framework.nameyarn
      • mapreduce.jobhistory.addressmaster:10020
      • mapreduce.jobhistory.webapp.addressmaster:19888
    • yarn-site.xml:
      • yarn.nodemanager.aux-servicesmapreduce_shuffle
      • yarn.resourcemanager.hostnamemaster
  • 目录准备与权限:
    • sudo -u hadoop mkdir -p /usr/local/hadoop/hdfs/{ name,data} /export/data/hadoop /usr/local/hadoop/logs
    • sudo chown -R hadoop:hadoop /usr/local/hadoop /export/data/hadoop。

四 启动与验证

  • 首次格式化 NameNode(仅一次):
    • sudo -u hadoop hdfs namenode -format
  • 启动集群:
    • 启动 HDFS:start-dfs.sh(或单独:hdfs --daemon start namenode/datanode)
    • 启动 YARN:start-yarn.sh(或单独:yarn --daemon start resourcemanager/nodemanager)
    • 启动历史服务(可选):mapred --daemon start historyserver
  • 进程与连通性检查:
    • jps(master 应见到 NameNode、ResourceManager;worker 见到 DataNode、NodeManager;历史服务节点见到 JobHistoryServer
    • HDFS Web UI:http://master:9870
    • YARN Web UI:http://master:8088
    • 简单功能测试:
      • hdfs dfs -mkdir -p /user/hadoop
      • hdfs dfs -put /etc/hosts /user/hadoop/hosts
      • hdfs dfs -ls /user/hadoop
      • yarn jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar pi 2 4。

五 常见问题与优化

  • 端口与防火墙:若无法访问 Web UI,确认 9870/8088/19888 等端口已放行;云环境需配置安全组规则。
  • 权限与用户:若以 root 运行,需在 hadoop-env.sh 显式设置 HDFS/YARN 相关 *_USER(不建议生产使用 root);以 hadoop 用户运行时确保目录属主一致。
  • 临时目录:务必配置 hadoop.tmp.dir,避免默认 /tmp 重启后丢失导致需反复 format。
  • 副本因子:单节点或测试环境可将 dfs.replication 设为 1;生产建议 3
  • SSH 免密:至少保证 master → 所有节点 免密,便于统一启停脚本执行。
  • 资源与内核:根据节点 CPU/内存 调整 YARN 容器内存与 vcore;必要时优化 ulimit -n 等系统参数。

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


若转载请注明出处: Debian Hadoop集群怎么搭建
本文地址: https://pptw.com/jishu/771313.html
Debian上如何安装Hadoop Ubuntu FTPServer怎样监控运行状态

游客 回复需填写必要信息