首页主机资讯HDFS在Ubuntu上的网络设置

HDFS在Ubuntu上的网络设置

时间2025-10-29 23:06:04发布访客分类主机资讯浏览791
导读:HDFS在Ubuntu上的网络设置指南 1. 配置静态IP地址 静态IP是集群节点稳定通信的基础,避免DHCP动态分配导致的IP变动。以Ubuntu 22.04为例,通过netplan工具配置(配置文件路径通常为/etc/netplan/0...

HDFS在Ubuntu上的网络设置指南

1. 配置静态IP地址

静态IP是集群节点稳定通信的基础,避免DHCP动态分配导致的IP变动。以Ubuntu 22.04为例,通过netplan工具配置(配置文件路径通常为/etc/netplan/01-network-manager-all.yaml):

network:
  version: 2
  renderer: NetworkManager
  ethernets:
    ens33:  # 网卡名称(通过`ip a`命令查看)
      dhcp4: no
      addresses: ["192.168.88.10/24"]  # 设置静态IP及子网掩码
      gateway4: 192.168.88.2          # 网关地址(与物理网络一致)
      nameservers:
        addresses: ["8.8.8.8", "1.1.1.1"]  # DNS服务器

应用配置:sudo netplan apply

2. 配置主机名解析

通过/etc/hosts文件实现节点名称与IP的映射,避免依赖DNS解析(提升通信效率并减少外部依赖)。编辑/etc/hosts,添加集群所有节点的信息:

192.168.88.10 master  # 主节点(NameNode、ResourceManager)
192.168.88.11 slave1  # 从节点1(DataNode、NodeManager)
192.168.88.12 slave2  # 从节点2(DataNode、NodeManager)

确保所有节点的/etc/hosts文件内容一致。

3. 配置SSH免密登录

实现节点间无密码通信,是Hadoop集群管理的核心需求(如NameNode向DataNode分发任务)。操作步骤:

  • 在主节点生成SSH密钥对:ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa(直接回车,默认保存路径)。
  • 将公钥复制到所有从节点:ssh-copy-id hadoop@slave1ssh-copy-id hadoop@slave2hadoop为节点用户名,需提前创建并设置密码)。
  • 测试免密登录:ssh slave1,若无需输入密码即可登录,则配置成功。

4. 配置Hadoop网络相关参数

修改Hadoop核心配置文件(位于$HADOOP_HOME/etc/hadoop目录),确保网络通信端口和路径正确:

  • core-site.xml:定义HDFS的默认文件系统地址(主节点NameNode的IP和端口)。
    <
        configuration>
        
      <
        property>
        
        <
        name>
        fs.defaultFS<
        /name>
        
        <
        value>
        hdfs://master:9000<
        /value>
          <
        !-- 替换为你的主节点IP或主机名 -->
        
      <
        /property>
        
    <
        /configuration>
        
    
  • hdfs-site.xml:配置NameNode和DataNode的数据存储路径、副本数(分布式存储的核心参数)。
    <
        configuration>
        
      <
        property>
        
        <
        name>
        dfs.replication<
        /name>
        
        <
        value>
        3<
        /value>
          <
        !-- 副本数(根据集群规模调整,生产环境建议3) -->
        
      <
        /property>
        
      <
        property>
        
        <
        name>
        dfs.namenode.name.dir<
        /name>
        
        <
        value>
        /usr/local/hadoop/data/namenode<
        /value>
          <
        !-- NameNode元数据存储路径 -->
        
      <
        /property>
        
      <
        property>
        
        <
        name>
        dfs.datanode.data.dir<
        /name>
        
        <
        value>
        /usr/local/hadoop/data/datanode<
        /value>
          <
        !-- DataNode数据存储路径 -->
        
      <
        /property>
        
    <
        /configuration>
        
    
  • yarn-site.xml:配置ResourceManager的主机名(YARN资源调度的核心)。
    <
        configuration>
        
      <
        property>
        
        <
        name>
        yarn.resourcemanager.hostname<
        /name>
        
        <
        value>
        master<
        /value>
          <
        !-- 替换为你的ResourceManager节点主机名 -->
        
      <
        /property>
        
      <
        property>
        
        <
        name>
        yarn.nodemanager.aux-services<
        /name>
        
        <
        value>
        mapreduce_shuffle<
        /value>
          <
        !-- MapReduce Shuffle服务 -->
        
      <
        /property>
        
    <
        /configuration>
        
    
  • mapred-site.xml(若未创建,需从mapred-site.xml.template复制):指定MapReduce框架为YARN。
    <
        configuration>
        
      <
        property>
        
        <
        name>
        mapreduce.framework.name<
        /name>
        
        <
        value>
        yarn<
        /value>
        
      <
        /property>
        
    <
        /configuration>
        
    ```。
    
    
    

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

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

sudo ufw allow 9000/tcp    # NameNode RPC端口
sudo ufw allow 50070/tcp   # NameNode Web UI端口(Hadoop 3.x可能为9870)
sudo ufw allow 8088/tcp    # ResourceManager Web UI端口
sudo ufw allow 50010/tcp   # DataNode数据传输端口
sudo ufw allow 50020/tcp   # DataNode IPC端口
sudo ufw allow 50090/tcp   # SecondaryNameNode端口
sudo ufw enable            # 启用防火墙

验证防火墙状态:sudo ufw status,确保上述端口处于“ALLOW”状态。

6. 验证网络连通性

在所有节点上执行以下命令,确保网络配置正确:

  • Ping测试ping masterping slave1,确保节点间IP连通。
  • 端口测试telnet master 9000(替换为你的NameNode IP和端口),确保端口可访问。
  • 主机名解析测试ping slave1,通过主机名能正确解析到IP地址。

完成以上步骤后,HDFS的网络基础配置完成,可继续执行hdfs namenode -format(首次启动需格式化)和start-dfs.sh(启动HDFS)命令,启动HDFS服务。

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


若转载请注明出处: HDFS在Ubuntu上的网络设置
本文地址: https://pptw.com/jishu/738296.html
HDFS在Ubuntu上的集群搭建 Ubuntu如何配置HDFS权限

游客 回复需填写必要信息