温馨提示×

Ubuntu HDFS配置如何更新

小樊
44
2025-12-20 19:26:32
栏目: 智能运维

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

一、定位配置文件与准备

  • 配置文件目录通常为:$HADOOP_HOME/etc/hadoop/,关键文件包括:core-site.xml、hdfs-site.xml、hadoop-env.sh。修改前建议备份:
    cp $HADOOP_HOME/etc/hadoop/.xml $HADOOP_HOME/etc/hadoop/.xml.bak_$(date +%F)
  • 使环境变量生效(如使用自定义安装路径):
    echo ‘export HADOOP_HOME=/usr/local/hadoop’ >> ~/.bashrc
    echo ‘export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin’ >> ~/.bashrc
    source ~/.bashrc
  • 如修改了 JAVA_HOME 或相关环境,请同步更新 $HADOOP_HOME/etc/hadoop/hadoop-env.sh

二、常见更新场景与示例

  • 调整默认文件系统地址(core-site.xml):

    fs.defaultFS
    hdfs://namenode-host:8020
  • 调整副本数与块大小(hdfs-site.xml):

    dfs.replication
    3


    dfs.blocksize
    134217728
  • 迁移本地存储目录(hdfs-site.xml,需先创建目录并赋权):

    dfs.namenode.name.dir
    file:///data/hadoop/namenode


    dfs.datanode.data.dir
    file:///data/hadoop/datanode
  • 说明:副本数提高可靠性但增加存储占用;块大小影响 NameNode 元数据与作业并发;目录变更需确保本地路径存在且权限正确。

三、滚动更新与重启策略

  • 单节点(伪分布式)或无 HA 集群:
    1. 依次停止:$HADOOP_HOME/sbin/stop-dfs.sh
    2. 如有目录变更,先创建并赋权(示例):
      sudo mkdir -p /data/hadoop/{namenode,datanode}
      sudo chown -R $(whoami):$(whoami) /data/hadoop
    3. 启动:$HADOOP_HOME/sbin/start-dfs.sh
  • 多节点/生产集群(建议滚动更新):
    1. 逐台重启 DataNode(避免同时下线过多节点):
      $HADOOP_HOME/sbin/hadoop-daemon.sh stop datanode
      $HADOOP_HOME/sbin/hadoop-daemon.sh start datanode
    2. 最后重启 NameNode(或按你的 HA 方案重启 Active/Standby):
      $HADOOP_HOME/sbin/hadoop-daemon.sh stop namenode
      $HADOOP_HOME/sbin/hadoop-daemon.sh start namenode
  • 提示:仅修改 dfs.replication 等不涉本地路径的参数时,通常无需重启守护进程,但为稳妥建议按上述顺序滚动操作并观察。

四、变更校验与回滚

  • 校验生效:
    • 进程检查:jps(应看到 NameNode/DataNode 等)
    • 集群报告:hdfs dfsadmin -report
    • Web 界面:NameNode 默认 9870 端口(旧版本可能为 50070
    • 连通与读写:hdfs dfs -mkdir /test && hdfs dfs -put /etc/hosts /test && hdfs dfs -ls /test
  • 回滚:将配置文件恢复为备份并重启相应进程;如仅调整目录导致异常,优先检查新目录权限与磁盘空间。

五、注意事项

  • 修改 dfs.namenode.name.dir/dfs.datanode.data.dir 后,需确保新目录存在、权限正确,且为 NameNode 与 DataNode 的运行用户可写。
  • 调整 dfs.replication 会影响存储占用与读取性能,变更前评估业务容忍度与容量。
  • 调整 dfs.blocksize 主要影响新写入文件,已存在文件块大小不变。
  • 目录变更或首次初始化时,可能需要清理旧数据目录以避免启动异常;生产环境务必先备份并选择维护窗口。

0