You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

阿里云ECS上HDFS NameNode显示异常主机名求助

阿里云ECS上Hadoop节点显示iZ开头主机名的解决方法

问题场景

阿里云ECS部署Hadoop 3.4.1后,执行hdfs namenode -format时启动日志显示主机名为iZib208xfvbhmyx1rha3gqZ/10.1.0.92,但系统实际主机名已设置为worker1,且hdfs getconf -namenodes返回worker1,与预期不符。

相关命令输出:

[root@worker1 hadoop-3.4.1]# hdfs namenode -format 
2025-01-23 10:13:46,887 INFO namenode.NameNode: STARTUP_MSG: 
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG:   host = iZib208xfvbhmyx1rha3gqZ/10.1.0.92
STARTUP_MSG:   args = [-format]
STARTUP_MSG:   version = 3.4.1

[root@worker1 javademo]# hostname
worker1
[root@worker1 javademo]# hostname -A
worker1.cluster.local worker1 worker1 worker1 worker1 worker1 

# 已配置HDFS NameNode主机名
hdfs getconf -namenodes # worker1

问题根源

从Hadoop 3.4.1的代码片段可知,NetUtils.getHostname()方法依赖InetAddress.getLocalHost()获取主机名,该方法优先读取系统/etc/hosts文件中的IP与主机名映射关系,而非直接读取系统hostname:

public static String getHostname() {
  try {return "" + InetAddress.getLocalHost();}
  catch(UnknownHostException uhe) {return "" + uhe;}
}

阿里云ECS默认会在/etc/hosts中把内网IP映射到自动生成的iZxxx格式主机名,即使修改了系统hostname,Java的InetAddress.getLocalHost()仍会优先读取该映射,导致Hadoop日志显示旧主机名。

解决步骤

  • 修改/etc/hosts文件
    编辑/etc/hosts,将内网IP对应的主机名替换为worker1:

    vi /etc/hosts
    

    找到类似行:

    10.1.0.92  iZib208xfvbhmyx1rha3gqZ
    

    修改为:

    10.1.0.92  worker1 worker1.cluster.local
    

    保存退出。

  • 验证修改生效
    执行Java命令测试主机名解析结果,确认返回worker1/10.1.0.92:

    java -e 'System.out.println(java.net.InetAddress.getLocalHost());'
    
  • 重启Hadoop服务
    停止所有Hadoop进程后重新启动,再次执行hdfs namenode -format(注意:格式化操作仅适用于首次启动或重置场景,执行前请备份数据),日志中host字段将显示worker1/10.1.0.92。

  • 同步Hadoop配置文件(可选)
    确保所有Hadoop核心配置文件中涉及主机名的项统一使用worker1:

    • core-site.xml的fs.defaultFS:hdfs://worker1:9000
    • hdfs-site.xml的dfs.namenode.http-address:worker1:50070

内容的提问来源于stack exchange,提问作者yizhen liu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 13:52:45