Hadoop格式化HDFS报错java.net.UnknownHostException: localhost.localdomain: localhost.localdomain

异常描述

在对HDFS格式化,执行hadoop namenode -format命令时,出现未知的主机名的问题,异常信息如下所示:

[plain] view plain copy

  1. [[email protected] bin]$ hadoop namenode -format
  2. 11/06/22 07:33:31 INFO namenode.NameNode: STARTUP_MSG:
  3. /************************************************************
  4. STARTUP_MSG: Starting NameNode
  5. STARTUP_MSG:   host = java.net.UnknownHostException: localhost.localdomain: localhost.localdomain
  6. STARTUP_MSG:   args = [-format]
  7. STARTUP_MSG:   version = 0.20.0
  8. STARTUP_MSG:   build = https://svn.apache.org/repos/asf/hadoop/core/branches/branch-0.20 -r 763504; compiled by ‘ndaley‘ on Thu Apr  9 05:18:40 UTC 2009
  9. ************************************************************/
  10. Re-format filesystem in /tmp/hadoop/hadoop-shirdrn/dfs/name ? (Y or N) Y
  11. 11/06/22 07:33:36 INFO namenode.FSNamesystem: fsOwner=shirdrn,shirdrn
  12. 11/06/22 07:33:36 INFO namenode.FSNamesystem: supergroup=supergroup
  13. 11/06/22 07:33:36 INFO namenode.FSNamesystem: isPermissionEnabled=true
  14. 11/06/22 07:33:36 INFO metrics.MetricsUtil: Unable to obtain hostName
  15. java.net.UnknownHostException: localhost.localdomain: localhost.localdomain
  16. at java.net.InetAddress.getLocalHost(InetAddress.java:1353)
  17. at org.apache.hadoop.metrics.MetricsUtil.getHostName(MetricsUtil.java:91)
  18. at org.apache.hadoop.metrics.MetricsUtil.createRecord(MetricsUtil.java:80)
  19. at org.apache.hadoop.hdfs.server.namenode.FSDirectory.initialize(FSDirectory.java:73)
  20. at org.apache.hadoop.hdfs.server.namenode.FSDirectory.<init>(FSDirectory.java:68)
  21. at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:370)
  22. at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:853)
  23. at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:947)
  24. at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:964)
  25. 11/06/22 07:33:36 INFO common.Storage: Image file of size 97 saved in 0 seconds.
  26. 11/06/22 07:33:36 INFO common.Storage: Storage directory /tmp/hadoop/hadoop-shirdrn/dfs/name has been successfully formatted.
  27. 11/06/22 07:33:36 INFO namenode.NameNode: SHUTDOWN_MSG:
  28. /************************************************************
  29. SHUTDOWN_MSG: Shutting down NameNode at java.net.UnknownHostException: localhost.localdomain: localhost.localdomain
  30. ************************************************************/

我们通过执行hostname命令可以看到:

[plain] view plain copy

  1. [[email protected] bin]# hostname
  2. localhost.localdomain

也就是说,Hadoop在格式化HDFS的时候,通过hostname命令获取到的主机名是localhost.localdomain,然后在/etc/hosts文件中进行映射的时候,没有找到,看下我的/etc/hosts内容:

[plain] view plain copy

  1. [[email protected] bin]# cat /etc/hosts
  2. # Do not remove the following line, or various programs
  3. # that require network functionality will fail.
  4. 127.0.0.1               localhost       localhost
  5. 192.168.1.103           localhost       localhost

也就说,通过localhost.localdomain根本无法映射到一个IP地址,所以报错了。

此时,我们查看一下/etc/sysconfig/network文件:

[plain] view plain copy

  1. NETWORKING=yes
  2. NETWORKING_IPV6=yes
  3. HOSTNAME=localhost.localdomain

可见,执行hostname获取到这里配置的HOSTNAME的值。

解决方法

修改/etc/sysconfig/network中HOSTNAME的值为localhost,或者自己指定的主机名,保证localhost在/etc/hosts文件中映射为正确的IP地址,然后重新启动网络服务:

[plain] view plain copy

  1. [[email protected] bin]# /etc/rc.d/init.d/network restart
  2. Shutting down interface eth0:  [  OK  ]
  3. Shutting down loopback interface:  [  OK  ]
  4. Bringing up loopback interface:  [  OK  ]
  5. Bringing up interface eth0:
  6. Determining IP information for eth0... done.
  7. [  OK  ]

这时,再执行格式化HDFS命令,以及启动HDFS集群就正常了。

格式化:

[plain] view plain copy

  1. [[email protected] bin]$ hadoop namenode -format
  2. 11/06/22 08:02:37 INFO namenode.NameNode: STARTUP_MSG:
  3. /************************************************************
  4. STARTUP_MSG: Starting NameNode
  5. STARTUP_MSG:   host = localhost/127.0.0.1
  6. STARTUP_MSG:   args = [-format]
  7. STARTUP_MSG:   version = 0.20.0
  8. STARTUP_MSG:   build = https://svn.apache.org/repos/asf/hadoop/core/branches/branch-0.20 -r 763504; compiled by ‘ndaley‘ on Thu Apr  9 05:18:40 UTC 2009
  9. ************************************************************/
  10. 11/06/22 08:02:37 INFO namenode.FSNamesystem: fsOwner=shirdrn,shirdrn
  11. 11/06/22 08:02:37 INFO namenode.FSNamesystem: supergroup=supergroup
  12. 11/06/22 08:02:37 INFO namenode.FSNamesystem: isPermissionEnabled=true
  13. 11/06/22 08:02:37 INFO common.Storage: Image file of size 97 saved in 0 seconds.
  14. 11/06/22 08:02:37 INFO common.Storage: Storage directory /tmp/hadoop/hadoop-shirdrn/dfs/name has been successfully formatted.
  15. 11/06/22 08:02:37 INFO namenode.NameNode: SHUTDOWN_MSG:
  16. /************************************************************
  17. SHUTDOWN_MSG: Shutting down NameNode at localhost/127.0.0.1
  18. ************************************************************/

启动:

[plain] view plain copy

  1. [[email protected] bin]$ start-all.sh
  2. starting namenode, logging to /home/shirdrn/eclipse/eclipse-3.5.2/hadoop/hadoop-0.20.0/logs/hadoop-shirdrn-namenode-localhost.out
  3. localhost: starting datanode, logging to /home/shirdrn/eclipse/eclipse-3.5.2/hadoop/hadoop-0.20.0/logs/hadoop-shirdrn-datanode-localhost.out
  4. localhost: starting secondarynamenode, logging to /home/shirdrn/eclipse/eclipse-3.5.2/hadoop/hadoop-0.20.0/logs/hadoop-shirdrn-secondarynamenode-localhost.out
  5. starting jobtracker, logging to /home/shirdrn/eclipse/eclipse-3.5.2/hadoop/hadoop-0.20.0/logs/hadoop-shirdrn-jobtracker-localhost.out
  6. localhost: starting tasktracker, logging to /home/shirdrn/eclipse/eclipse-3.5.2/hadoop/hadoop-0.20.0/logs/hadoop-shirdrn-tasktracker-localhost.out

查看:

[plain] view plain copy

    1. [[email protected] bin]$ jps
    2. 8192 TaskTracker
    3. 7905 DataNode
    4. 7806 NameNode
    5. 8065 JobTracker
    6. 8002 SecondaryNameNode
    7. 8234 Jps
    8. from https://blog.csdn.net/shirdrn/article/details/6562292

原文地址:https://www.cnblogs.com/shizhijie/p/9037289.html

时间: 2024-10-08 15:23:41

Hadoop格式化HDFS报错java.net.UnknownHostException: localhost.localdomain: localhost.localdomain的相关文章

Hadoop格式化HDFS报错java.net.UnknownHostException: centos64

异常描述 在对HDFS格式化,执行hadoop namenode -format命令时,出现未知的主机名的问题,异常信息如下所示: Java代码 [shirdrn@localhost bin]$ hadoop namenode -format 11/06/22 07:33:31 INFO namenode.NameNode: STARTUP_MSG: /************************************************************ STARTUP_MSG

ha环境下重新格式化hdfs报错

datanode启动不成功,如下所示,我的136,137.138都是datanode,都启动不了. 查看datanode日志文件发现报错: 一个报错Incompatible clusterIDs in /home/hadoop/data/datanode,需要删除core-site.xml中配置的hadoop.tmp.dir临时目录下的东西. 第二个报错需要删除hdfs-site.xml中配置dfs.datanode.data.dir对应的目录下的东西. 然后重新格式化hdfs后,重启hdfs就

eclipse下执行wordcount报错 java.lang.ClassNotFoundException 解决办法

eclipse下执行wordcount报错 java.lang.ClassNotFoundException 17/08/29 07:52:54 INFO Configuration.deprecation: fs.default.name is deprecated. Instead, use fs.defaultFS 17/08/29 07:52:54 WARN util.NativeCodeLoader: Unable to load native-hadoop library for y

使用Snappy 压缩方式报错“java.lang.UnsatisfiedLinkError: no snappyjava in java.library.path”

情况描述 其实这个问题已经困扰我很久了,最近在公司Linux上搭建hadoop 和 spark环境的时候,我就遇到 spark提交作业到yarn 集群就报错这个错,当时已经安装snappy环境了,任何关于snappy静态库都编译了,这是我提交到spark mail list上的http://apache-spark-user-list.1001560.n3.nabble.com/java-lang-UnsatisfiedLinkError-no-snappyjava-in-java-librar

Linux 格式化分区 报错Could not stat --- No such file or directory 和 partprobe 命令

分区的过程正常: [[email protected] /]# fdisk -l Disk /dev/sda: 21.4 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot      Start         End      Blocks   Id  System /dev/sda1   *

maven web 项目中启动报错java.lang.ClassNotFoundException: org.springframework.web.util.Log4jConfigListener

本篇文章主要介绍了"maven web 项目中启动报错java.lang.ClassNotFoundException: org.springframework.web.util.Log4jConfigListener ",主要涉及到maven web 项目中启动报错java.lang.ClassNotFoundException: org.springframework.web.util.Log4jConfigListener 方面的内容,对于maven web 项目中启动报错jav

Tomcat启动报错java.net.AbstractPlainSocketImpl(java/net/AbstractPlainSocketImpl.java:178:-1)Struts在网络复杂情况下启动报错解决办法

SSH项目 在网络复杂的情况(具体规律未知)下,Tomcat启动时,报如下错误: [ERROR] 2014-08-12 14:52:58,484 [org.apache.struts2.dispatcher.Dispatcher :27] - Dispatcher initialization failedUnable to load configuration. - Class: java.net.AbstractPlainSocketImplFile: AbstractPlainSocket

报错:java.lang.Long cannot be cast to java.lang.Integer

Long 无法转化成Integer类型. 这个异常 经常出现在hinbernate分页查询的时候. 原因: 这里在Hibernate2.0之前版本list.get(0)返回的是Integer类型. 但是在Hibernate3.0以后版本list.get(0)返回的是Long类型. 解决方法 public Integer getUsersCount() { String hql = "select count(*) from Users"; List list = super.pageQ

新手迷惑:复制文件路径报错java.io.FileNotFoundException

? 被这个问题搞了很久,可能是太基本了,所以很多人都解决不了,自己找了很多网页,都讲得太高深了,解决不了问题.于是乎,自己捯饬了很久,才能清楚这个简单.很简单的问题.还是记录一下,好记性不如烂笔头,方便后来人! ? 问题:复制文件路径报错java.io.FileNotFoundException: (文件名.目录名或卷标语法不正确.) ? 方法就是:复制路径之后,把最前面的空格去掉就是了,加上双引号.. ? ? ? ? ? ? ? ? ? 很基本吧,但是没人告诉你,就有可能自己摸索很久,哎,小问