温馨提示×

怎样正确配置Ubuntu下的HDFS

小樊
44
2025-12-26 15:20:10
栏目: 智能运维

Ubuntu 下 HDFS 正确配置步骤

一 环境准备

  • 更新系统并安装基础工具与 Java 8(Hadoop 3.x 常用版本):
    • 命令:sudo apt update && sudo apt install -y build-essential openssh-server openjdk-8-jdk
    • 验证:java -version 应返回 1.8.x
  • 建议创建专用用户(如 hdfs)或在当前用户下完成后续操作,避免权限混乱。

二 安装与环境变量

  • 下载并解压 Hadoop(示例版本 3.3.4,可按需调整):
    • 命令:wget https://downloads.apache.org/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz
    • 解压:tar -xzvf hadoop-3.3.4.tar.gz -C /usr/local/
  • 配置环境变量(~/.bashrc 或 /etc/profile):
    • 内容:
      • export HADOOP_HOME=/usr/local/hadoop-3.3.4
      • export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    • 生效:source ~/.bashrc(或 source /etc/profile)
  • 在 hadoop-env.sh 中显式设置 JAVA_HOME(路径以本机为准,可用 update-alternatives --config java 查询):
    • 示例:export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
    • 说明:部分发行版包可能已自带 JAVA_HOME,但显式设置更稳妥

三 配置 HDFS 核心文件

  • 配置 core-site.xml(指定默认文件系统与 I/O 缓冲):
    • 示例:
      • - fs.defaultFShdfs://localhost:9000 - io.file.buffer.size131072 - - hadoop.tmp.dir/usr/local/hadoop-3.3.4/tmp -
  • 配置 hdfs-site.xml(单机/伪分布式常用设置):
    • 示例:
      • - dfs.replication1 - dfs.namenode.name.dir/usr/local/hadoop-3.3.4/data/namenode - dfs.datanode.data.dir/usr/local/hadoop-3.3.4/data/datanode - dfs.datanode.data.dir.perm700 - dfs.blocksize268435456 - dfs.namenode.handler.count100 -
  • 创建数据与临时目录并修正属主(如使用 hdfs 用户):
    • 命令:
      • sudo mkdir -p /usr/local/hadoop-3.3.4/data/{namenode,datanode}
      • sudo mkdir -p /usr/local/hadoop-3.3.4/tmp
      • sudo chown -R hdfs:hdfs /usr/local/hadoop-3.3.4/data /usr/local/hadoop-3.3.4/tmp
  • 配置 workers(单机保留 localhost;集群填写各节点主机名或 IP):
    • 文件路径:$HADOOP_HOME/etc/hadoop/workers
    • 内容示例:localhost

四 启动与验证

  • 首次启动前格式化 NameNode(仅一次):
    • 命令:hdfs namenode -format
  • 启动 HDFS(如需 YARN 可同时启动):
    • 命令:start-dfs.sh(start-yarn.sh)
  • 验证进程与 Web UI:
    • 进程:jps 应看到 NameNode、DataNode、SecondaryNameNode(若启动 YARN 还有 ResourceManager、NodeManager
    • Web UI:
      • HDFS NameNode:http://localhost:50070(Hadoop 3.x 新版为 http://localhost:9870
      • YARN ResourceManager:http://localhost:8088
  • 常用操作与停止:
    • 创建目录:hdfs dfs -mkdir -p /user/$USER
    • 上传文件:hdfs dfs -put localfile /user/$USER/
    • 查看文件:hdfs dfs -ls /user/$USER
    • 停止:stop-dfs.sh(stop-yarn.sh)

五 常见问题与进阶

  • SSH 免密登录(本机或集群节点间):
    • 生成密钥:ssh-keygen -t rsa -P ‘’
    • 本机自测:ssh-copy-id localhost
    • 集群分发:ssh-copy-id user@slave_node_ip
  • 防火墙放行端口(如使用 ufw):
    • 命令:sudo ufw allow 9000,9870,8088
  • 端口与版本差异:
    • Hadoop 2.x 常用 50070 作为 NameNode Web 端口;Hadoop 3.x 使用 9870。若访问失败,请先确认实际版本与端口。
  • 生产与安全:
    • 多机部署需统一 /etc/hosts 或 DNS、时间同步(NTP),并按需配置 Kerberos 等安全机制。

0