首页主机资讯Hadoop在Linux下的网络配置

Hadoop在Linux下的网络配置

时间2025-10-29 18:02:03发布访客分类主机资讯浏览1074
导读:一、基础网络环境配置 设置静态IP地址 为避免动态IP变动导致集群通信故障,需为所有节点配置静态IP。根据Linux发行版差异,编辑对应网络配置文件(如CentOS/RHEL的/etc/sysconfig/network-scripts...

一、基础网络环境配置

  1. 设置静态IP地址
    为避免动态IP变动导致集群通信故障,需为所有节点配置静态IP。根据Linux发行版差异,编辑对应网络配置文件(如CentOS/RHEL的/etc/sysconfig/network-scripts/ifcfg-ens33、Debian/Ubuntu的/etc/network/interfaces),设置以下参数:

    TYPE=Ethernet
    BOOTPROTO=static  # 静态IP
    IPADDR=192.168.1.100  # 节点IP
    NETMASK=255.255.255.0  # 子网掩码
    GATEWAY=192.168.1.1  # 网关
    DNS1=8.8.8.8  # DNS服务器
    ONBOOT=yes  # 开机自启
    

    保存后重启网络服务(systemctl restart networkservice network restart)。

  2. 配置主机名与hosts映射

    • 为每个节点设置唯一主机名(如NameNode设为hadoop-master,DataNode设为hadoop-slave1):
      hostnamectl set-hostname hadoop-master  # 在对应节点执行
      
    • 编辑所有节点的/etc/hosts文件,添加IP与主机名映射(确保所有节点映射一致):
      192.168.1.100 hadoop-master
      192.168.1.101 hadoop-slave1
      192.168.1.102 hadoop-slave2
      
  3. 配置SSH免密码登录
    实现NameNode与DataNode、ResourceManager与NodeManager之间的无密码通信:

    • 在NameNode上生成SSH密钥对:
      ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa  # 直接回车,无需设置密码
      
    • 将公钥复制到所有DataNode和NodeManager节点:
      ssh-copy-id hadoop-slave1  # 执行后输入目标节点密码
      ssh-copy-id hadoop-slave2
      
    • 验证免密码登录(从NameNode执行ssh hadoop-slave1,无需密码即可登录)。

二、Hadoop核心配置文件调整

  1. core-site.xml
    配置Hadoop默认文件系统和临时目录,指定NameNode的RPC地址:

    <
        configuration>
        
        <
        property>
        
            <
        name>
        fs.defaultFS<
        /name>
        
            <
        value>
        hdfs://hadoop-master:9000<
        /value>
          <
        !-- NameNode的RPC地址 -->
        
        <
        /property>
        
        <
        property>
        
            <
        name>
        hadoop.tmp.dir<
        /name>
        
            <
        value>
        /opt/hadoop/tmp<
        /value>
          <
        !-- 临时目录,需提前创建并授权 -->
        
        <
        /property>
        
    <
        /configuration>
        
    
  2. hdfs-site.xml
    配置HDFS副本数、NameNode和DataNode的数据存储目录:

    <
        configuration>
        
        <
        property>
        
            <
        name>
        dfs.replication<
        /name>
        
            <
        value>
        3<
        /value>
          <
        !-- 副本数,生产环境建议3,测试环境可设为1 -->
        
        <
        /property>
        
        <
        property>
        
            <
        name>
        dfs.namenode.name.dir<
        /name>
        
            <
        value>
        /opt/hadoop/dfs/name<
        /value>
          <
        !-- NameNode元数据存储路径 -->
        
        <
        /property>
        
        <
        property>
        
            <
        name>
        dfs.datanode.data.dir<
        /name>
        
            <
        value>
        /opt/hadoop/dfs/data<
        /value>
          <
        !-- DataNode数据存储路径 -->
        
        <
        /property>
        
    <
        /configuration>
        
    
  3. yarn-site.xml
    配置ResourceManager地址和NodeManager的Shuffle服务:

    <
        configuration>
        
        <
        property>
        
            <
        name>
        yarn.resourcemanager.hostname<
        /name>
        
            <
        value>
        hadoop-master<
        /value>
          <
        !-- ResourceManager所在节点 -->
        
        <
        /property>
        
        <
        property>
        
            <
        name>
        yarn.nodemanager.aux-services<
        /name>
        
            <
        value>
        mapreduce_shuffle<
        /value>
          <
        !-- MapReduce Shuffle服务 -->
        
        <
        /property>
        
        <
        property>
        
            <
        name>
        yarn.nodemanager.aux-services.mapreduce.shuffle.class<
        /name>
        
            <
        value>
        org.apache.hadoop.mapred.ShuffleHandler<
        /value>
        
        <
        /property>
        
    <
        /configuration>
        
    
  4. mapred-site.xml
    指定MapReduce任务运行框架为YARN:

    <
        configuration>
        
        <
        property>
        
            <
        name>
        mapreduce.framework.name<
        /name>
        
            <
        value>
        yarn<
        /value>
        
        <
        /property>
        
    <
        /configuration>
        
    
  5. slaves文件
    列出所有DataNode和NodeManager节点(每行一个主机名),用于Hadoop自动管理集群节点:

    hadoop-slave1
    hadoop-slave2
    

三、网络相关优化与安全配置

  1. 防火墙设置
    开放Hadoop必需端口(如HDFS的9000、50010,YARN的8032、8042),允许集群内部通信:

    sudo firewall-cmd --permanent --zone=public --add-port=9000/tcp  # HDFS RPC
    sudo firewall-cmd --permanent --zone=public --add-port=50010/tcp  # DataNode数据传输
    sudo firewall-cmd --permanent --zone=public --add-port=8032/tcp  # YARN ResourceManager
    sudo firewall-cmd --permanent --zone=public --add-port=8042/tcp  # NodeManager
    sudo firewall-cmd --reload
    

    若无需防火墙,可直接停止并禁用(不推荐生产环境):

    systemctl stop firewalld &
        &
         systemctl disable firewalld
    
  2. SELinux配置
    若系统启用SELinux,需临时或永久关闭以避免权限问题:

    setenforce 0  # 临时关闭
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config  # 永久关闭
    
  3. 网络性能调优
    编辑/etc/sysctl.conf,调整TCP缓冲区大小以提升大数据传输效率:

    net.core.rmem_max = 16777216
    net.core.wmem_max = 16777216
    net.ipv4.tcp_rmem = 4096 87380 16777216
    net.ipv4.tcp_wmem = 4096 65536 16777216
    net.ipv4.tcp_congestion_control = cubic
    

    应用配置:

    sudo sysctl -p
    

四、验证网络配置

  1. 节点连通性检查
    使用ping命令测试NameNode与各DataNode之间的网络连通性(如ping hadoop-slave1)。

  2. SSH免密码登录验证
    从NameNode执行ssh hadoop-slave1,确认无需输入密码即可登录。

  3. Hadoop服务状态检查

    • 格式化NameNode(首次启动需执行):
      hdfs namenode -format
      
    • 启动HDFS和YARN:
      start-dfs.sh &
          &
           start-yarn.sh
      
    • 使用jps命令查看各节点进程(NameNode节点应显示NameNode、SecondaryNameNode;DataNode节点应显示DataNode;ResourceManager节点应显示ResourceManager;NodeManager节点应显示NodeManager)。
    • 访问Hadoop Web界面(HDFS: http://hadoop-master:50070,YARN: http://hadoop-master:8088),确认集群状态正常。

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


若转载请注明出处: Hadoop在Linux下的网络配置
本文地址: https://pptw.com/jishu/737992.html
Hadoop在Linux中的备份策略 Linux服务器上MinIO如何部署

游客 回复需填写必要信息