首页主机资讯Debian HDFS集群搭建步骤详解

Debian HDFS集群搭建步骤详解

时间2026-01-22 11:42:03发布访客分类主机资讯浏览1332
导读:Debian 上搭建 HDFS 集群步骤详解 一 环境准备与规划 节点规划:至少准备 1 台 NameNode + 多台 DataNode;如需资源管理可同时部署 YARN(ResourceManager + NodeManager)。...

Debian 上搭建 HDFS 集群步骤详解

一 环境准备与规划

  • 节点规划:至少准备 1 台 NameNode + 多台 DataNode;如需资源管理可同时部署 YARN(ResourceManager + NodeManager)。
  • 软件要求:安装 Java 8 或更高版本(推荐 OpenJDK 8/11),在所有节点保持一致。
  • 网络与主机名:确保节点间可互通,建议使用 静态 IP 或稳定的主机名;在 /etc/hosts 中配置所有节点的 IP ↔ 主机名 映射,避免仅依赖 DNS。
  • 目录与权限:规划 Hadoop 安装目录HDFS 数据目录(如 NameNode/DataNode 数据目录),并确保运行用户对其拥有读写权限。
  • 基础工具:安装 SSH 客户端/服务端,便于集群内免密登录与脚本化管理。
    以上要点与示例做法可参考在 Debian 上部署 Hadoop 集群的通用流程与配置说明。

二 安装与基础配置

  • 安装 Java(示例为 OpenJDK 11):
    sudo apt update & & sudo apt install -y openjdk-11-jdk
    java -version
  • 创建专用用户(推荐):
    sudo adduser hadoop
    sudo usermod -aG sudo hadoop
  • 下载并解压 Hadoop(示例版本 3.3.6):
    wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
    sudo tar -xzvf hadadoop-3.3.6.tar.gz -C /usr/local
    sudo ln -sfn /usr/local/hadoop-3.3.6 /usr/local/hadoop
  • 配置环境变量(所有节点一致):
    /etc/profile~/.bashrc 中添加:
    export HADOOP_HOME=/usr/local/hadoop
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    使配置生效:source /etc/profile
  • 配置 SSH 免密登录(NameNode 能免密登录各节点,含本机):
    ssh-keygen -t rsa -b 4096 -C “hadoop@$(hostname)”
    ssh-copy-id hadoop@namenode
    ssh-copy-id hadoop@datanode1
    ssh-copy-id hadoop@datanode2
    以上安装与环境变量设置、SSH 免密登录为集群部署的基础步骤。

三 核心配置

  • 主机名解析(所有节点 /etc/hosts 示例):
    192.168.1.10 namenode
    192.168.1.11 datanode1
    192.168.1.12 datanode2
  • 配置 hadoop-env.sh:
    设置 JAVA_HOME(如使用 OpenJDK 11):
    export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
  • 配置 core-site.xml(指定默认文件系统与临时目录):


    fs.defaultFS
    hdfs://namenode:9000


    hadoop.tmp.dir
    /opt/hadoop/tmp

  • 配置 hdfs-site.xml(副本数与数据目录):


    dfs.replication
    3


    dfs.namenode.name.dir
    file:///opt/hadoop/hdfs/namenode


    dfs.datanode.data.dir
    file:///opt/hadoop/hdfs/datanode

  • 配置 workers(旧版为 slaves,指定 DataNode 主机名):
    datanode1
    datanode2
    以上关键配置项(fs.defaultFS、dfs.replication、namenode/data 目录、workers/slaves)为 HDFS 最小可用配置集合。

四 启动与验证

  • 创建数据目录(所有节点):
    sudo mkdir -p /opt/hadoop/tmp /opt/hadoop/hdfs/{ namenode,datanode}
    sudo chown -R hadoop:hadoop /opt/hadoop
  • 格式化 NameNode(仅首次,在 NameNode 执行):
    sudo -u hadoop hdfs namenode -format
  • 启动 HDFS(在 NameNode 执行):
    sudo -u hadoop start-dfs.sh
  • 基本验证:
    • 进程检查:jps(应看到 NameNode/DataNode 等进程)
    • 集群报告:hdfs dfsadmin -report(查看 Live datanodes 数量与容量)
    • Web UI:NameNode Web 界面默认端口 9870(访问 http://namenode:9870)
    • 简单读写:
      hdfs dfs -mkdir -p /test
      echo “Hello HDFS” | hdfs dfs -put - /test/hello.txt
      hdfs dfs -cat /test/hello.txt
      以上启动与验证步骤适用于 Hadoop 3.x 版本;如使用 2.x,NameNode Web 端口通常为 50070

五 常见问题与扩展

  • 端口连通性:若访问 9000 端口失败,优先使用节点的 主机名 而非 localhost 或 127.0.1.1;确保防火墙放行相关端口(如 9000/9864/9866/9870)。
  • 权限问题:HDFS 根目录权限不足时,可临时放宽:hdfs dfs -chmod 777 /(生产环境请按最小权限原则设置)。
  • 副本数调整:修改 dfs.replication 仅影响新写入数据;已有数据可用:
    hdfs dfs -setrep -w 3 /your/path
  • 扩容 DataNode:禁止直接拷贝已有 DataNode 的磁盘数据目录到新节点,否则会出现 DataNode UUID 冲突;应清空数据目录后启动新 DataNode 让其自行注册。
  • 高可用扩展(HA):如需 NameNode 高可用,需部署 ZooKeeperJournalNode,在 core-site.xml 设置 fs.defaultFS=hdfs://myclusterha.zookeeper.quorum,在 hdfs-site.xml 配置 dfs.nameservices、dfs.ha.namenodes、dfs.namenode.rpc-address、dfs.client.failover.proxy.provider、dfs.ha.fencing.methods、dfs.journalnode.edits.dir、dfs.namenode.shared.edits.dir 等参数,并按顺序启动 JournalNode → NameNode → ZKFC/自动故障转移

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


若转载请注明出处: Debian HDFS集群搭建步骤详解
本文地址: https://pptw.com/jishu/789971.html
Linux Node.js日志中如何查找特定请求 Debian HDFS性能优化有哪些技巧

游客 回复需填写必要信息