首页主机资讯Ubuntu HDFS配置更新步骤

Ubuntu HDFS配置更新步骤

时间2025-12-15 17:00:04发布访客分类主机资讯浏览737
导读:Ubuntu 上更新 HDFS 配置的规范流程 一 操作前准备 备份当前配置与环境:将 $HADOOP_HOME/etc/hadoop 目录整体备份;记录关键参数(如 fs.defaultFS、dfs.replication、目录路径等)...

Ubuntu 上更新 HDFS 配置的规范流程

一 操作前准备

  • 备份当前配置与环境:将 $HADOOP_HOME/etc/hadoop 目录整体备份;记录关键参数(如 fs.defaultFSdfs.replication、目录路径等);导出当前环境:env | grep HADOOP;确保有 sudo 权限与集群维护窗口。
  • 选择变更方式:
    • 动态生效:仅修改无需重启的参数,使用 hdfs dfsadmin -refreshNodes、重启单个服务或滚动重启。
    • 滚动重启:逐台重启 DataNode,最后重启 NameNode(HA 环境按角色顺序执行)。
    • 全量重启:停机维护窗口内执行 stop-dfs.sh & & start-dfs.sh
  • 规划目录与权限:新目录提前创建,权限与属主与运行用户一致(常见为 hdfs:hdfshduser:hadoop),并确保磁盘挂载与空间充足。

二 修改配置文件

  • 进入配置目录:cd $HADOOP_HOME/etc/hadoop
  • 常用文件与作用:
    • core-site.xml:HDFS 入口与基础目录(如 fs.defaultFShadoop.tmp.dir)。
    • hdfs-site.xml:副本数、NameNode/Datanode 数据目录、Web 端口、黑名单等。
    • hadoop-env.sh:设置 JAVA_HOME 与 JVM 参数。
    • 仅涉及 HDFS 时,通常无需改动 yarn-site.xml/mapred-site.xml
  • 示例(按需选取要更新的项):
    • core-site.xml(更新默认文件系统或临时目录)
      <
          configuration>
          
        <
          property>
          
          <
          name>
          fs.defaultFS<
          /name>
          
          <
          value>
          hdfs://namenode01:8020<
          /value>
          
        <
          /property>
          
        <
          property>
          
          <
          name>
          hadoop.tmp.dir<
          /name>
          
          <
          value>
          /data/hadoop/tmp<
          /value>
          
        <
          /property>
          
      <
          /configuration>
          
      
    • hdfs-site.xml(更新副本数、目录与端口)
      <
          configuration>
          
        <
          property>
          
          <
          name>
          dfs.replication<
          /name>
          
          <
          value>
          3<
          /value>
          
        <
          /property>
          
        <
          property>
          
          <
          name>
          dfs.namenode.name.dir<
          /name>
          
          <
          value>
          file:///data/hadoop/dfs/name<
          /value>
          
        <
          /property>
          
        <
          property>
          
          <
          name>
          dfs.datanode.data.dir<
          /name>
          
          <
          value>
          file:///data1/hadoop/dfs/data,file:///data2/hadoop/dfs/data<
          /value>
          
        <
          /property>
          
        <
          !-- 可选:Secondary NameNode Web 地址 -->
          
        <
          property>
          
          <
          name>
          dfs.namenode.secondary.http-address<
          /name>
          
          <
          value>
          secondary01:50090<
          /value>
          
        <
          /property>
          
      <
          /configuration>
      
      
    • hadoop-env.sh(确保 JAVA_HOME 正确)
      export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
      
    上述关键参数与文件用途见 Hadoop 配置说明与示例文档。

三 分发与生效

  • 分发配置:将修改后的配置同步到所有节点(如 rsync -av $HADOOP_HOME/etc/hadoop/ nodeX:$HADOOP_HOME/etc/hadoop/),保持集群一致性。
  • 创建与授权新目录(如变更了本地数据目录):
    sudo mkdir -p /data/hadoop/dfs/{
    name,data}
        
    sudo chown -R hdfs:hdfs /data/hadoop
    
  • 使环境变量生效(如修改了 JAVA_HOMEHADOOP_HOME):
    echo 'export HADOOP_HOME=/usr/local/hadoop' >
        >
         ~/.bashrc
    echo 'export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin' >
        >
         ~/.bashrc
    source ~/.bashrc
    
  • 动态/滚动生效建议:
    • 仅调整 dfs.replication 等无需重启的参数时,可直接生效;涉及 NameNode/Datanode 存储目录 的变更需按下一节处理。
    • 节点变更(退役/新增)可先更新 dfs.hosts / dfs.hosts.exclude,再执行 hdfs dfsadmin -refreshNodes 使节点名单生效。

四 涉及数据目录变更时的安全做法

  • 基本原则:变更 dfs.namenode.name.dirdfs.datanode.data.dir 属于结构性变更,需谨慎处理数据与元数据一致性。
  • 推荐步骤:
    1. 全量备份元数据(如 NameNode 元数据目录 与必要的 JournalNode 数据)。
    2. 按“滚动替换”思路逐台处理 DataNode
      • 将新目录加入 dfs.datanode.data.dir,旧目录保留;
      • 启动 DataNode,待 Web UIhdfs dfsadmin -report 显示新盘已使用且数据块恢复完成后,再下线旧盘。
    3. 处理 NameNode
      • 非 HA:在停机窗口内,先安全停止集群,迁移/指向新 name.dir,执行一次 NameNode 格式化(会清空元数据,务必已备份),再启动;
      • HA:通过 JournalNodeZooKeeper 进行故障切换与升级,避免直接格式化;按官方 HA 流程变更并验证。
    4. 校验:
      • hdfs dfsadmin -report 查看 Live Nodes、容量与磁盘使用;
      • hdfs fsck / -files -blocks -locations 检查块分布与健康;
      • 访问 NameNode Web UI(9870 端口) 确认状态正常。
  • 重要提醒:直接修改 fs.defaultFS 并不会“移动”既有数据;如需迁移数据,请结合 DistCpHDFS Balancer 完成数据重分布与均衡。

五 验证与回滚

  • 快速验证:
    hdfs dfsadmin -report
    hdfs dfs -ls /
    hdfs fsck / -files -blocks -locations
    
    访问 NameNode Web UI:http://:9870 检查集群健康与节点状态。
  • 回滚预案:
    • 配置回滚:将配置文件与目录恢复至变更前版本,按“滚动重启”顺序恢复服务;
    • 数据回滚:若 NameNode 被格式化或元数据受损,使用备份恢复 name.dirJournalNode 数据,再启动集群。
  • 常见端口参考:NameNode Web 9870DataNode HTTP 50075Secondary NameNode Web 50090(不同版本可能略有差异)。

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


若转载请注明出处: Ubuntu HDFS配置更新步骤
本文地址: https://pptw.com/jishu/771813.html
Ubuntu HDFS如何恢复配置 Ubuntu HDFS配置安全设置

游客 回复需填写必要信息