首页主机资讯如何在Ubuntu上配置HDFS集群

如何在Ubuntu上配置HDFS集群

时间2025-12-03 13:54:04发布访客分类主机资讯浏览786
导读:在 Ubuntu 上配置 HDFS 集群 一 环境准备与规划 准备至少 2 台 Ubuntu 服务器(建议 16.04+),规划角色:至少 1 个 NameNode、1 个 DataNode(可多台)、可选 1 个 SecondaryNa...

在 Ubuntu 上配置 HDFS 集群

一 环境准备与规划

  • 准备至少 2 台 Ubuntu 服务器(建议 16.04+),规划角色:至少 1 个 NameNode1 个 DataNode(可多台)、可选 1 个 SecondaryNameNode 或后续升级为 HA
  • 所有节点保持同一网络,建议配置 静态 IP主机名解析(/etc/hosts 或 DNS),确保节点间可互相 SSH 登录。
  • 安装 Java(Hadoop 3.x 常用 OpenJDK 8):sudo apt update & & sudo apt install -y openjdk-8-jdk;验证:java -version。
  • 配置 SSH 免密登录:在每台机器生成密钥(ssh-keygen -t rsa),将公钥分发到所有节点(ssh-copy-id user@host),便于脚本统一启停进程。

二 安装 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 hadoop-3.3.6.tar.gz -C /usr/local/
  • 设置环境变量(~/.bashrc 或 /etc/profile,二选一,注意 JAVA_HOME 路径与系统一致):
    export HADOOP_HOME=/usr/local/hadoop-3.3.6
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
    source ~/.bashrc
  • 目录规划:为 NameNode/DataNode 创建本地数据目录(示例:/data/hdfs/{ nn,dn} ),并确保运行 Hadoop 的用户拥有读写权限。

三 关键配置文件

  • 配置目录:$HADOOP_HOME/etc/hadoop。以下为最小可用示例(按你的主机名与路径调整)。
  1. core-site.xml
  • 指定默认文件系统与临时目录(示例主机名为 namenode): fs.defaultFS hdfs://namenode:9000 hadoop.tmp.dir /opt/hadoop/tmp
  • 说明:fs.defaultFS 用于指定 NameNode RPC 地址;hadoop.tmp.dir 用于集中放置临时与本地元数据目录。
  1. hdfs-site.xml
  • 指定副本数、NameNode/DataNode 本地目录、Secondary 地址(示例主机名 secondarynamenode): dfs.replication 2 dfs.namenode.name.dir /data/hdfs/nn dfs.datanode.data.dir/data/hdfs/dn dfs.namenode.secondary.http-address secondarynamenode:50090
  • 说明:dfs.replication 为 副本数(测试可设 1,生产建议 3);dfs.namenode.name.dir/dfs.datanode.data.dir 为 本地存储路径(可配置多盘,逗号分隔);dfs.namenode.secondary.http-address 为 SecondaryNameNode Web 端口
  1. 可选 YARN 与 MapReduce(如需运行 MapReduce/Spark on YARN)
  • mapred-site.xml mapreduce.framework.name yarn
  • yarn-site.xml yarn.resourcemanager.hostname resourcemanager yarn.nodemanager.aux-services mapreduce_shuffle
  • 说明:指定 YARN 作为执行框架与 Shuffle 服务
  1. 分发配置与目录
  • core-site.xml/hdfs-site.xml(及 yarn/mapred 配置)同步到所有节点相同路径。
  • 在所有节点创建本地目录并赋权(示例用户为 hdfs):
    sudo mkdir -p /data/hdfs/{ nn,dn}
    sudo chown -R hdfs:hdfs /data/hdfs

四 启动与验证

  • 格式化 NameNode(仅首次):在 NameNode 执行:hdfs namenode -format(如提示覆盖可用 -force,谨慎使用)。
  • 启动 HDFS:在 NameNode 执行:start-dfs.sh;如使用 YARN,在 ResourceManager 执行:start-yarn.sh。
  • 验证进程:jps 应看到 NameNode/DataNode/SecondaryNameNode(以及 ResourceManager/NodeManager 若启用 YARN)。
  • 验证集群:
    • hdfs dfsadmin -report(查看 DataNode 数量/容量
    • hdfs dfs -ls /(查看 根目录
  • Web 界面:
    • HDFS NameNode:http://namenode:50070(Hadoop 2.x/3.x 常见端口)
    • HDFS NameNode:http://namenode:9870(Hadoop 3.x 新端口)
    • YARN ResourceManager:http://resourcemanager:8088

五 常见问题与优化

  • 配置与权限:确保各节点 XML 配置一致;本地数据目录存在且 权限正确(运行用户可读写)。
  • SSH 免密:NameNode 能免密登录所有 DataNode/Secondary,否则脚本启动会失败。
  • 防火墙/安全组:放行 9000(RPC)、50070/9870(HDFS Web)、8088(YARN)、以及 DataNode 数据传输端口范围(默认 50010/50020/50075 等,视版本与配置而定)。
  • 副本与容量:测试环境可将 dfs.replication 设为 1;生产建议 3,并确保集群总容量与副本策略匹配。
  • 磁盘容错:多盘部署时可用 dfs.datanode.failed.volumes.tolerated 容忍少量坏盘;块大小 dfs.blocksize 默认 128MB,可按作业特性调整。
  • 扩展节点:新增 DataNode 时,先同步配置与目录结构,再在目标节点启动:hdfs --daemon start datanode,随后用 hdfs dfsadmin -report 确认加入。

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


若转载请注明出处: 如何在Ubuntu上配置HDFS集群
本文地址: https://pptw.com/jishu/762328.html
HDFS在Ubuntu上如何扩展存储 Ubuntu中HDFS如何实现高可用

游客 回复需填写必要信息