首页主机资讯Ubuntu下Hadoop网络配置指南

Ubuntu下Hadoop网络配置指南

时间2025-10-23 08:48:04发布访客分类主机资讯浏览1313
导读:Ubuntu下Hadoop网络配置指南 1. 准备工作 在开始网络配置前,需完成以下基础准备: 硬件要求:每台Ubuntu节点至少分配2GB内存、500GB磁盘空间(可根据集群规模调整); 软件安装:提前安装Java(openjdk-11...

Ubuntu下Hadoop网络配置指南

1. 准备工作

在开始网络配置前,需完成以下基础准备:

  • 硬件要求:每台Ubuntu节点至少分配2GB内存、500GB磁盘空间(可根据集群规模调整);
  • 软件安装:提前安装Java(openjdk-11-jdk)和Hadoop(建议使用稳定版本,如3.3.6);
  • 网络模式:虚拟机建议使用桥接模式(与宿主机同局域网)或NAT模式(共享宿主机IP),确保节点间可通信。

2. 配置Ubuntu静态IP地址

Hadoop集群需要稳定的IP地址,避免动态IP变动导致节点失联。以Ubuntu 20.04及以上版本为例,通过netplan配置静态IP:

  1. 备份原有网络配置文件:
    sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak
    
  2. 编辑配置文件(使用nanovim):
    sudo nano /etc/netplan/01-netcfg.yaml
    
  3. 修改为以下内容(替换< your_ip> < your_gateway> < your_dns> 为实际值,ens33为网络接口名,可通过ip a命令查看):
    network:
      version: 2
      ethernets:
        ens33:
          addresses: ["<
        your_ip>
        /24"]
          gateway4: "<
        your_gateway>
        "
          nameservers:
            addresses: ["<
        your_dns>
        ", "8.8.8.8", "8.8.4.4"]
    
  4. 应用配置:
    sudo netplan apply
    
  5. 验证IP设置:
    ip a | grep "inet "
    
    确认输出的IP地址与配置一致。

3. 配置主机名与hosts文件映射

为了让节点通过主机名互相识别(而非IP),需统一配置主机名和/etc/hosts文件:

  1. 设置主机名(以namenode为例):
    sudo hostnamectl set-hostname namenode
    
    重启节点使主机名生效,或临时生效:
    sudo hostname namenode
    
  2. 修改hosts文件(所有节点均需配置):
    sudo nano /etc/hosts
    
    添加以下内容(替换为实际IP和主机名):
    192.168.1.100 namenode
    192.168.1.101 datanode1
    192.168.1.102 datanode2
    
    保存后,通过ping < hostname> 验证主机名解析是否正常。

4. 配置SSH无密码登录

Hadoop集群节点间需要频繁通信(如NameNode与DataNode、ResourceManager与NodeManager),配置SSH无密码登录可避免重复输入密码:

  1. 生成SSH密钥对(所有节点):
    ssh-keygen -t rsa
    
    直接按回车键,使用默认路径(~/.ssh/id_rsa)和空密码。
  2. 复制公钥到其他节点(以namenode为例):
    ssh-copy-id namenode
    ssh-copy-id datanode1
    ssh-copy-id datanode2
    
    输入当前用户的密码,完成后即可实现无密码登录:
    ssh namenode
    ssh datanode1
    

5. 配置Hadoop网络相关参数

编辑Hadoop配置文件(位于$HADOOP_HOME/etc/hadoop/目录),确保网络相关参数正确:

  1. core-site.xml:指定HDFS的默认文件系统地址(< namenode_hostname> 替换为NameNode的主机名):
    <
        configuration>
        
      <
        property>
        
        <
        name>
        fs.defaultFS<
        /name>
        
        <
        value>
        hdfs://namenode:9000<
        /value>
        
      <
        /property>
        
    <
        /configuration>
        
    
  2. hdfs-site.xml:配置HDFS副本数(生产环境建议3个)和数据目录:
    <
        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>
        
    <
        /configuration>
        
    
  3. yarn-site.xml:指定ResourceManager的主机名和Shuffle服务:
    <
        configuration>
        
      <
        property>
        
        <
        name>
        yarn.resourcemanager.hostname<
        /name>
        
        <
        value>
        resourcemanager<
        /value>
        
      <
        /property>
        
      <
        property>
        
        <
        name>
        yarn.nodemanager.aux-services<
        /name>
        
        <
        value>
        mapreduce_shuffle<
        /value>
        
      <
        /property>
        
    <
        /configuration>
        
    
  4. mapred-site.xml(若未创建,可复制模板):指定MapReduce框架为YARN:
    <
        configuration>
        
      <
        property>
        
        <
        name>
        mapreduce.framework.name<
        /name>
        
        <
        value>
        yarn<
        /value>
        
      <
        /property>
        
    <
        /configuration>
        
    

6. 配置防火墙允许Hadoop端口

Hadoop需要开放多个端口用于节点间通信,使用ufw(Ubuntu防火墙工具)配置:

sudo ufw allow 9000/tcp    # HDFS NameNode端口
sudo ufw allow 50070/tcp   # HDFS Web UI端口
sudo ufw allow 50075/tcp   # DataNode Web UI端口
sudo ufw allow 8020/tcp    # HDFS客户端通信端口
sudo ufw allow 8032/tcp    # YARN ResourceManager端口
sudo ufw allow 8042/tcp    # NodeManager Web UI端口
sudo ufw enable            # 启用防火墙

7. 格式化HDFS并启动集群

  1. 格式化HDFS(仅在NameNode上执行,首次配置或元数据损坏时需要):
    hdfs namenode -format
    
    注意:格式化会清除NameNode中的所有数据,请谨慎操作。
  2. 启动Hadoop集群
    start-dfs.sh   # 启动HDFS服务(NameNode、DataNode)
    start-yarn.sh  # 启动YARN服务(ResourceManager、NodeManager)
    
  3. 验证集群状态
    • 查看HDFS节点列表:
      hdfs dfsadmin -report
      
    • 查看YARN节点列表:
      yarn node -list
      
    • 访问Web UI:在浏览器中输入http://< namenode_ip> :9870(HDFS Web UI)或http://< resourcemanager_ip> :8088(YARN Web UI)。

8. 常见问题排查

  • 节点无法连通:使用ping < hostname> 检查网络连通性,确保/etc/hosts文件配置正确;
  • SSH登录失败:检查~/.ssh/authorized_keys文件权限(应为600),并确认公钥已正确复制;
  • HDFS启动失败:查看NameNode日志($HADOOP_HOME/logs/hadoop-< username> -namenode-< hostname> .log),常见原因包括端口被占用、数据目录权限不足;
  • YARN启动失败:查看ResourceManager日志($HADOOP_HOME/logs/yarn-< username> -resourcemanager-< hostname> .log),确认yarn.resourcemanager.hostname配置正确。

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


若转载请注明出处: Ubuntu下Hadoop网络配置指南
本文地址: https://pptw.com/jishu/733089.html
Ubuntu与Hadoop集成有哪些优势 Hadoop在Ubuntu上的任务调度策略

游客 回复需填写必要信息