首页主机资讯HDFS与CentOS集成配置指南

HDFS与CentOS集成配置指南

时间2025-12-16 17:36:03发布访客分类主机资讯浏览341
导读:HDFS与CentOS集成配置指南 一 环境准备与规划 操作系统与版本:建议使用 CentOS 7/8,确保内核与基础网络正常。 Java 环境:安装 OpenJDK 8(Hadoop 3.x 常用版本),并配置 JAVA_HOME。 主...

HDFS与CentOS集成配置指南

一 环境准备与规划

  • 操作系统与版本:建议使用 CentOS 7/8,确保内核与基础网络正常。
  • Java 环境:安装 OpenJDK 8(Hadoop 3.x 常用版本),并配置 JAVA_HOME
  • 主机规划:至少准备 1 个 NameNode + 多个 DataNode;可选 SecondaryNameNode。示例:
    • 192.168.121.140 hadoop01(NameNode、DataNode、JobHistoryServer)
    • 192.168.121.141 hadoop02(DataNode、ResourceManager)
    • 192.168.121.142 hadoop03(DataNode、SecondaryNameNode、NodeManager)
  • 基础配置:配置 /etc/hosts 主机名解析、开启 SSH 免密登录(主从互信)、建议启用 NTP 时间同步,并准备 Hadoop 安装包(如 hadoop-3.3.4.tar.gz)。

二 安装与基础配置

  • 安装 Java
    • 执行:sudo yum install -y java-1.8.0-openjdk-devel
    • 验证:java -version
  • 安装 Hadoop
    • 下载与解压:wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz
    • 解压:tar -xzvf hadoop-3.3.4.tar.gz -C /usr/local/ & & mv /usr/local/hadoop-3.3.4 /usr/local/hadoop
  • 环境变量(推荐写入 /etc/profile.d/hadoop.sh
    • 内容:
      export HADOOP_HOME=/usr/local/hadoop
      export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
      
    • 生效:source /etc/profile.d/hadoop.sh
  • 配置 SSH 免密(主节点执行)
    • ssh-keygen -t rsa
    • ssh-copy-id hadoop@hadoop01ssh-copy-id hadoop@hadoop02ssh-copy-id hadoop@hadoop03
  • 目录准备(示例)
    • mkdir -p /usr/local/hadoop/data/{ namenode,datanode}

三 HDFS核心配置

  • 配置 hadoop-env.sh
    • 设置:export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
  • 配置 core-site.xml
    <
        configuration>
        
      <
        property>
        
        <
        name>
        fs.defaultFS<
        /name>
        
        <
        value>
        hdfs://hadoop01:9000<
        /value>
        
      <
        /property>
        
    <
        /configuration>
        
    
  • 配置 hdfs-site.xml
    <
        configuration>
        
      <
        property>
        
        <
        name>
        dfs.replication<
        /name>
        
        <
        value>
        3<
        /value>
        
      <
        /property>
        
      <
        property>
        
        <
        name>
        dfs.namenode.name.dir<
        /name>
        
        <
        value>
        /usr/local/hadoop/data/namenode<
        /value>
        
      <
        /property>
        
      <
        property>
        
        <
        name>
        dfs.datanode.data.dir<
        /name>
        
        <
        value>
        /usr/local/hadoop/data/datanode<
        /value>
        
      <
        /property>
        
      <
        property>
        
        <
        name>
        dfs.permissions.enabled<
        /name>
        
        <
        value>
        false<
        /value>
        
      <
        /property>
        
    <
        /configuration>
        
    
  • 配置 mapred-site.xml
    <
        configuration>
        
      <
        property>
        
        <
        name>
        mapreduce.framework.name<
        /name>
        
        <
        value>
        yarn<
        /value>
        
      <
        /property>
        
    <
        /configuration>
        
    
  • 配置 yarn-site.xml
    <
        configuration>
        
      <
        property>
        
        <
        name>
        yarn.nodemanager.aux-services<
        /name>
        
        <
        value>
        mapreduce_shuffle<
        /value>
        
      <
        /property>
        
      <
        property>
        
        <
        name>
        yarn.nodemanager.aux-services.mapreduce.shuffle.class<
        /name>
        
        <
        value>
        org.apache.hadoop.mapred.ShuffleHandler<
        /value>
        
      <
        /property>
        
      <
        property>
        
        <
        name>
        yarn.resourcemanager.hostname<
        /name>
        
        <
        value>
        hadoop02<
        /value>
        
      <
        /property>
        
    <
        /configuration>
        
    
  • 说明
    • 单节点/测试可将副本数设为 1;生产环境建议 3
    • 若使用 Hadoop 3.3+ 且启用 8020 RPC 端口,可将 fs.defaultFS 改为 hdfs://hadoop01:8020 并同步开放端口。

四 启动与验证

  • 首次启动前
    • NameNode 执行:hdfs namenode -format
  • 启动服务
    • 启动 HDFS:start-dfs.sh
    • 启动 YARN:start-yarn.sh
  • 进程与连通性检查
    • 进程:jps(应见到 NameNode/DataNode/SecondaryNameNode/ResourceManager/NodeManager 等)
    • 报告:hdfs dfsadmin -report
    • CLI 测试:hdfs dfs -ls /
  • Web 界面
    • HDFS NameNode:http://hadoop01:50070
    • YARN ResourceManager:http://hadoop02:8088
  • 常见问题
    • 无法访问 Web:检查 防火墙/安全组主机名解析
    • DataNode 未注册:核对 dfs.datanode.data.dir 权限与目录存在、网络互通、时间同步。

五 网络与防火墙及客户端集成

  • 防火墙放行(示例为 firewalld)
    • 放行常用端口:
      firewall-cmd --permanent --zone=public --add-port=9000/tcp
      firewall-cmd --permanent --zone=public --add-port=50010/tcp
      firewall-cmd --permanent --zone=public --add-port=50020/tcp
      firewall-cmd --permanent --zone=public --add-port=50070/tcp
      firewall-cmd --permanent --zone=public --add-port=50075/tcp
      firewall-cmd --permanent --zone=public --add-port=50090/tcp
      firewall-cmd --reload
      
    • 如使用 8020/8042/8088/8030-8033 等端口,也需一并放行。
  • 主机名与 hosts
    • 所有节点配置 /etc/hosts,确保 namenode/resourcemanager 等主机名可解析。
  • 客户端集成
    • core-site.xml/hdfs-site.xml 分发到客户端 $HADOOP_CONF_DIR(或应用 classpath),保持与集群一致。
    • CLI 使用:hdfs dfs -put /local/file /hdfs/pathhdfs dfs -get /hdfs/file /local/path
    • Java 应用依赖(Maven):
      <
          dependency>
          
        <
          groupId>
          org.apache.hadoop<
          /groupId>
          
        <
          artifactId>
          hadoop-client<
          /artifactId>
          
        <
          version>
          3.3.4<
          /version>
          
      <
          /dependency>
          
      
  • 安全建议
    • 生产环境建议开启 HDFS 权限(dfs.permissions.enabled=true) 并配置 Kerberos;测试环境可临时关闭权限。

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


若转载请注明出处: HDFS与CentOS集成配置指南
本文地址: https://pptw.com/jishu/773001.html
CentOS HDFS配置更新流程是怎样的 HDFS集群在CentOS如何配置

游客 回复需填写必要信息