温馨提示×

HDFS在CentOS上的网络配置技巧

小樊
41
2026-01-04 10:11:34
栏目: 智能运维

一 基础网络与主机解析

  • 使用静态IP保证拓扑稳定:编辑接口文件(如**/etc/sysconfig/network-scripts/ifcfg-ens33**),将BOOTPROTO=static,并正确设置IPADDR、NETMASK、GATEWAY、DNS1/2、ONBOOT=yes;保存后执行systemctl restart network
  • 规范主机名与解析:用hostnamectl set-hostname 设置唯一主机名;在/etc/hosts中写入所有节点的IP-主机名映射,避免依赖不可控DNS。
  • 统一时间同步:全集群启用NTP,确保NameNode/DataNode时钟一致,避免安全令牌与RPC异常。
  • 打通SSH免密:在各节点生成密钥并分发公钥,便于集群启停与脚本化运维。
  • 建议将Hadoop目录加入环境变量(如**/etc/profile中设置HADOOP_HOMEPATH**),减少手工路径错误。

二 防火墙与端口放行

  • 若启用防火墙,需放行HDFS常用端口(示例以firewalld为例):
    • 8020/tcp(NameNode RPC,推荐)或旧版9000/tcp
    • 50070/tcp(NameNode HTTP)
    • 50010/tcp(DataNode数据传输)
    • 50020/tcp(DataNode IPC)
    • 50075/tcp(DataNode HTTP)
    • 50090/tcp(SecondaryNameNode HTTP)
      命令示例:firewall-cmd --permanent --zone=public --add-port=8020/tcp;firewall-cmd --reload。
  • 若处于受控网络或测试环境,可临时停止并禁用firewalld,上线前务必恢复并精细化放行。

三 Hadoop网络关键配置

  • core-site.xml:设置默认文件系统URI,优先使用fs.defaultFS=hdfs://<nameservice_or_namenode>:8020;如使用HA,使用逻辑名称服务而非裸IP。
  • hdfs-site.xml:
    • 副本数:dfs.replication=3(生产常用,三副本兼顾可靠性与容量)。
    • 目录权限:dfs.datanode.data.dir.perm=700(仅DataNode用户可读写)。
    • NameNode HTTP:dfs.namenode.http-address=0.0.0.0:50070(如需外网访问,绑定到非回环地址)。
  • 高可用(HA)要点:
    • 定义dfs.nameservices,为每个NameNode配置dfs.ha.namenodes.dfs.namenode.rpc-address/dfs.namenode.http-address
    • 配置dfs.client.failover.proxy.provider.(如ConfiguredFailoverProxyProvider);
    • 使用JournalNode时开放8485/tcp并配置dfs.namenode.shared.edits.dir=qjournal://…
  • 客户端多集群/跨集群访问:在dfs.nameservices中同时声明多个nameservice,并用dfs.internal.nameservices标注本集群;为远端集群补充其HA地址与故障转移代理,便于distcp等跨集群作业无需改IP。

四 双网卡与链路冗余

  • 采用Bonding提升可靠性:创建bond0(如mode=1 主备,miimon=100ms),将eth0/eth1设为SLAVE;必要时在**/etc/modprobe.conf**中加载bonding模块。
  • 选择模式建议:带宽未达单卡上限时优先mode=1(主备,复杂度低、切换快);交换机与网卡支持802.3ad时可用mode=4(链路聚合,提升吞吐)。
  • 注意:Bonding属于系统层面网络能力,HDFS配置仍应使用逻辑主机名VIP,避免直接绑定到某块物理网卡。

五 验证与排障清单

  • 基础连通:
    • 节点间用**ping <主机名/IP>**验证二层/三层可达;
    • 用**ss -lntp | grep -E ‘8020|50070|50010|50075|50090’**确认端口监听;
    • firewall-cmd --list-ports核对放行策略。
  • HDFS健康:
    • 执行hdfs dfsadmin -report查看Live/Decommissioning节点与容量;
    • 访问http://:50070核对NameNodeDataNode状态;
    • 首次部署或重大变更后,按需执行hdfs namenode -format(仅一次,谨慎操作)。
  • 常见症状速查:
    • 无法写入/读取:检查副本数磁盘权限(700)DataNode目录挂载防火墙
    • 集群分裂/脑裂:核对NTP主机名解析一致性SSH免密ZooKeeper/JournalNode健康;
    • 跨机房/跨集群作业失败:核对nameservice配置、failover代理RPC/HTTP端口可达性。

0