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

启动Hadoop start-dfs.sh时DataNode报hostname含无效字符问题求助

Hadoop 3.1.3启动start-dfs.sh时DataNode主机名无效字符问题解决(Ubuntu 20.04.1)

错误现象

执行start-dfs.sh时出现如下日志:

Starting namenodes on [hadoop01]
Starting datanodes
: hostname contains invalid characters
: hostname contains invalid characters
: hostname contains invalid characters
Starting secondary namenodes [hadoop03]

解决步骤

  • 检查并修正节点主机名

    1. 执行hostname查看当前主机名,确认是否包含下划线、特殊符号等不符合DNS规范的字符(Hadoop主机名仅允许字母、数字、连字符)。
    2. 编辑/etc/hostname文件,替换为合法主机名(如hadoop01、hadoop02)。
    3. 执行hostnamectl set-hostname 新主机名使主机名立即生效,无需重启系统。
  • 修正Hadoop配置文件中的主机名

    1. 编辑$HADOOP_HOME/etc/hadoop/workers文件,确保每行一个DataNode主机名,且均为合法名称,无特殊字符。
    2. 检查core-site.xml和hdfs-site.xml中的配置项(如fs.defaultFS、dfs.namenode.secondary.http-address),确认其中的主机名合法且正确。
  • 修正/etc/hosts映射

    1. 编辑/etc/hosts文件,配置集群节点IP与合法主机名的对应映射,示例格式:
      192.168.1.101  hadoop01
      192.168.1.102  hadoop02
      192.168.1.103  hadoop03
      
    2. 执行ping hadoop01验证主机名解析是否正常。
  • 清理临时目录并重新格式化(若已格式化过NameNode)

    1. 停止所有Hadoop服务:stop-all.sh。
    2. 删除DataNode存储目录(默认路径为/tmp/hadoop-${USER}/dfs/data,具体以hdfs-site.xml中dfs.datanode.data.dir配置为准)。
    3. 重新格式化NameNode:hdfs namenode -format。
    4. 再次启动DFS服务:start-dfs.sh。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 02:42:21