HDFS格式化报错

异常描述



[grant@zz_mars bin 16:08 ]$ ./hadoop namenode -format
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.


13/01/17 16:12:03 INFO namenode.NameNode: STARTUP_MSG: 
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG:   host = java.net.UnknownHostException: zz.chen: zz.chen
STARTUP_MSG:   args = [-format]
STARTUP_MSG:   version = 0.22.0
STARTUP_MSG:   classpath = /home/grant/hadoop-0.22.0/bin/../conf:/usr/java/jdk1.7.0_09/lib/tools.jar:/home/grant/hadoop-0.22.0/bin/..:/home/grant/hadoop-0.22.0/bin/../hadoop-common-0.22.0.jar:/home/grant/hadoop-0.22.0/bin/../hadoop-common-test-0.22.0.jar:/home/grant/hadoop-0.22.0/bin/../hadoop-hdfs-0.22.0.jar:/home/grant/hadoop-0.22.0/bin/../hadoop-hdfs-0.22.0-sources.jar:/home/grant/hadoop-0.22.0/bin/../hadoop-hdfs-ant-0.22.0.jar:/home/grant/hadoop-0.22.0/bin/../hadoop-hdfs-test-0.22.0.jar:/home/grant/hadoop-0.22.0/bin/../hadoop-hdfs-test-0.22.0-sources.jar:/home/grant/hadoop-0.22.0/bin/../hadoop-mapred-0.22.0.jar:/home/grant/hadoop-0.22.0/bin/../hadoop-mapred-0.22.0-sources.jar:/home/grant/hadoop-0.22.0/bin/../hadoop-mapred-examples-0.22.0.jar:/home/grant/hadoop-0.22.0/bin/../hadoop-mapred-test-0.22.0.jar:/home/grant/hadoop-0.22.0/bin/../hadoop-mapred-tools-0.22.0.jar:/home/grant/hadoop-0.22.0/bin/../lib/ant-1.6.5.jar:/home/grant/hadoop-0.22.0/bin/../lib/ant-1.7.1.jar:/home/grant/hadoop-0.22.0/bin/../lib/ant-launcher-1.7.1.jar:/home/grant/hadoop-0.22.0/bin/../lib/asm-3.3.jar:/home/grant/hadoop-0.22.0/bin/../lib/aspectjrt-1.6.5.jar:/home/grant/hadoop-0.22.0/bin/../lib/aspectjtools-1.6.5.jar:/home/grant/hadoop-0.22.0/bin/../lib/avro-1.5.3.jar:/home/grant/hadoop-0.22.0/bin/../lib/avro-compiler-1.5.3.jar:/home/grant/hadoop-0.22.0/bin/../lib/avro-ipc-1.5.3.jar:/home/grant/hadoop-0.22.0/bin/../lib/commons-cli-1.2.jar:/home/grant/hadoop-0.22.0/bin/../lib/commons-codec-1.4.jar:/home/grant/hadoop-0.22.0/bin/../lib/commons-collections-3.2.1.jar:/home/grant/hadoop-0.22.0/bin/../lib/commons-daemon-1.0.1.jar:/home/grant/hadoop-0.22.0/bin/../lib/commons-el-1.0.jar:/home/grant/hadoop-0.22.0/bin/../lib/commons-httpclient-3.1.jar:/home/grant/hadoop-0.22.0/bin/../lib/commons-lang-2.5.jar:/home/grant/hadoop-0.22.0/bin/../lib/commons-logging-1.1.1.jar:/home/grant/hadoop-0.22.0/bin/../lib/commons-logging-api-1.1.jar:/home/grant/hadoop-0.22.0/bin/../lib/commons-net-1.4.1.jar:/home/grant/hadoop-0.22.0/bin/../lib/core-3.1.1.jar:/home/grant/hadoop-0.22.0/bin/../lib/ecj-3.5.1.jar:/home/grant/hadoop-0.22.0/bin/../lib/guava-r09.jar:/home/grant/hadoop-0.22.0/bin/../lib/hsqldb-1.8.0.10.jar:/home/grant/hadoop-0.22.0/bin/../lib/jackson-core-asl-1.7.3.jar:/home/grant/hadoop-0.22.0/bin/../lib/jackson-mapper-asl-1.7.3.jar:/home/grant/hadoop-0.22.0/bin/../lib/jasper-compiler-5.5.12.jar:/home/grant/hadoop-0.22.0/bin/../lib/jasper-runtime-5.5.12.jar:/home/grant/hadoop-0.22.0/bin/../lib/jdiff-1.0.9.jar:/home/grant/hadoop-0.22.0/bin/../lib/jets3t-0.7.1.jar:/home/grant/hadoop-0.22.0/bin/../lib/jetty-6.1.26.jar:/home/grant/hadoop-0.22.0/bin/../lib/jetty-util-6.1.26.jar:/home/grant/hadoop-0.22.0/bin/../lib/jsch-0.1.42.jar:/home/grant/hadoop-0.22.0/bin/../lib/jsp-2.1-glassfish-2.1.v20091210.jar:/home/grant/hadoop-0.22.0/bin/../lib/jsp-2.1-jetty-6.1.26.jar:/home/grant/hadoop-0.22.0/bin/../lib/jsp-api-2.1-glassfish-2.1.v20091210.jar:/home/grant/hadoop-0.22.0/bin/../lib/junit-4.8.1.jar:/home/grant/hadoop-0.22.0/bin/../lib/kfs-0.3.jar:/home/grant/hadoop-0.22.0/bin/../lib/log4j-1.2.16.jar:/home/grant/hadoop-0.22.0/bin/../lib/mockito-all-1.8.2.jar:/home/grant/hadoop-0.22.0/bin/../lib/mockito-all-1.8.5.jar:/home/grant/hadoop-0.22.0/bin/../lib/oro-2.0.8.jar:/home/grant/hadoop-0.22.0/bin/../lib/paranamer-2.3.jar:/home/grant/hadoop-0.22.0/bin/../lib/paranamer-ant-2.3.jar:/home/grant/hadoop-0.22.0/bin/../lib/paranamer-generator-2.3.jar:/home/grant/hadoop-0.22.0/bin/../lib/qdox-1.12.jar:/home/grant/hadoop-0.22.0/bin/../lib/servlet-api-2.5-20081211.jar:/home/grant/hadoop-0.22.0/bin/../lib/slf4j-api-1.6.1.jar:/home/grant/hadoop-0.22.0/bin/../lib/slf4j-log4j12-1.6.1.jar:/home/grant/hadoop-0.22.0/bin/../lib/snappy-java-1.0.3.2.jar:/home/grant/hadoop-0.22.0/bin/../lib/velocity-1.6.4.jar:/home/grant/hadoop-0.22.0/bin/../lib/xmlenc-0.52.jar:/home/grant/hadoop-0.22.0/bin/../lib/jsp-2.1/*.jar:/home/grant/hadoop-0.22.0/hdfs/bin/../conf:/home/grant/hadoop-0.22.0/hdfs/bin/../hadoop-hdfs-*.jar:/home/grant/hadoop-0.22.0/hdfs/bin/../lib/*.jar:/home/grant/hadoop-0.22.0/hdfs/bin/../hadoop-hdfs-*.jar:/home/grant/hadoop-0.22.0/hdfs/bin/../lib/*.jar
STARTUP_MSG:   build = http://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.22/common -r 1207774; compiled by 'jenkins' on Sun Dec  4 00:57:22 UTC 2011
************************************************************/
13/01/17 16:12:03 WARN common.Util: Path /home/grant/hdfs/name should be specified as a URI in configuration files. Please update hdfs configuration.
13/01/17 16:12:03 WARN common.Util: Path /home/grant/hdfs/name should be specified as a URI in configuration files. Please update hdfs configuration.
13/01/17 16:12:03 INFO namenode.FSNamesystem: defaultReplication = 1
13/01/17 16:12:03 INFO namenode.FSNamesystem: maxReplication = 512
13/01/17 16:12:03 INFO namenode.FSNamesystem: minReplication = 1
13/01/17 16:12:03 INFO namenode.FSNamesystem: maxReplicationStreams = 2
13/01/17 16:12:03 INFO namenode.FSNamesystem: shouldCheckForEnoughRacks = false
13/01/17 16:12:03 INFO util.GSet: VM type       = 32-bit
13/01/17 16:12:03 INFO util.GSet: 2% max memory = 17.77875 MB
13/01/17 16:12:03 INFO util.GSet: capacity      = 2^22 = 4194304 entries
13/01/17 16:12:03 INFO util.GSet: recommended=4194304, actual=4194304
13/01/17 16:12:03 INFO metrics.MetricsUtil: Unable to obtain hostName
java.net.UnknownHostException: zz.chen: zz.chen
at java.net.InetAddress.getLocalHost(InetAddress.java:1438)
at org.apache.hadoop.metrics.MetricsUtil.getHostName(MetricsUtil.java:95)
at org.apache.hadoop.metrics.MetricsUtil.createRecord(MetricsUtil.java:84)
at org.apache.hadoop.security.UserGroupInformation$UgiMetrics.<init>(UserGroupInformation.java:103)
at org.apache.hadoop.security.UserGroupInformation.<clinit>(UserGroupInformation.java:183)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.setConfigurationParameters(FSNamesystem.java:461)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:432)
at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:1406)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1523)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1543)
Caused by: java.net.UnknownHostException: zz.chen
at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:866)
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1258)
at java.net.InetAddress.getLocalHost(InetAddress.java:1434)
... 9 more
13/01/17 16:12:03 INFO namenode.FSNamesystem: fsOwner=grant
13/01/17 16:12:03 INFO namenode.FSNamesystem: supergroup=supergroup
13/01/17 16:12:03 INFO namenode.FSNamesystem: isPermissionEnabled=true
13/01/17 16:12:03 INFO namenode.FSNamesystem: isBlockTokenEnabled=false blockKeyUpdateInterval=0 min(s), blockTokenLifetime=0 min(s)
13/01/17 16:12:03 INFO namenode.NameNode: Caching file names occuring more than 10 times 
13/01/17 16:12:04 INFO common.Storage: Saving image file /home/grant/hdfs/name/current/fsimage using no compression
13/01/17 16:12:04 INFO common.Storage: Image file of size 112 saved in 0 seconds.
13/01/17 16:12:04 INFO common.Storage: Storage directory /home/grant/hdfs/name has been successfully formatted.
13/01/17 16:12:04 INFO namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at java.net.UnknownHostException: zz.chen: zz.chen
************************************************************/



我的解决方案:在/etc/hosts文件里加一行 :

                           127.0.0.1     zz.chen



以下是转载:


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

[plain]  view plain copy
  1.  [shirdrn@localhost 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. [shirdrn@localhost bin]# hostname  
  2. localhost.localdomain  
也就是说,Hadoop在格式化HDFS的时候,通过hostname命令获取到的主机名是localhost.localdomain,然后在/etc/hosts文件中进行映射的时候,没有找到,看下我的/etc/hosts内容:

[plain]  view plain copy
  1. [root@localhost 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. [root@localhost 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. [shirdrn@localhost 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. [shirdrn@localhost 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. [shirdrn@localhost bin]$ jps  
  2. 8192 TaskTracker  
  3. 7905 DataNode  
  4. 7806 NameNode  
  5. 8065 JobTracker  
  6. 8002 SecondaryNameNode  
  7. 8234 Jps  
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: HDFS格式化找不到命令通常是由于Hadoop集群环境配置不正确或者没有正确设置Hadoop的环境变量导致的。 首先,确保Hadoop已经正确安装并且Hadoop的bin目录已经在环境变量PATH中设置。可以通过在命令行中输入"hadoop version"来验证Hadoop是否正确安装和配置。 如果Hadoop已经正确安装,但仍然提示找不到命令,那可能是因为Hadoop的配置文件中没有正确指定Hadoop的安装路径。可以检查Hadoop的配置文件(hadoop-env.sh)中的HADOOP_HOME变量是否正确设置为Hadoop的安装路径。 另外,还需要确保当前操作用户具有对Hadoop文件系统进行格式化的权限。如果当前用户不是Hadoop的管理员或者没有足够的权限,可能会导致找不到格式化命令。可以试着以管理员身份运行格式化命令或者联系Hadoop管理员进行格式化操作。 最后,如果以上步骤都正确设置,但仍然找不到格式化命令,可以尝试重新安装Hadoop或者检查Hadoop的版本与所使用的命令是否兼容。 总之,HDFS格式化找不到命令通常是由于Hadoop环境配置不正确或者环境变量设置不正确导致的。需要确保Hadoop已正确安装、配置文件中的路径正确、用户具有足够权限,并确保Hadoop版本与命令兼容。 ### 回答2: HDFSHadoop分布式文件系统)是Hadoop生态系统中的一部分,用于存储和处理大数据。格式化HDFS是指在开始使用HDFS之前对其进行初始化配置的过程。当我们尝试格式化HDFS时,有时可能会遇到找不到命令的问题。这种情况可能是由以下几个原因引起的。 首先,可能是由于Hadoop的安装或配置有问题。当Hadoop未正确安装时,系统无法找到相关的Hadoop命令。在这种情况下,需要检查Hadoop是否按照正确的步骤进行安装,并确保相关的环境变量和路径设置正确。 其次,可能是由于Hadoop版本的兼容性问题。不同版本的Hadoop可能有不同的命令名称或命令用法。如果使用的Hadoop版本与命令不兼容,系统就无法找到相应的命令。 最后,可能是由于系统的权限问题。在某些情况下,Hadoop命令需要特定的用户权限才能执行。如果当前用户没有足够的权限,系统可能无法找到命令。在这种情况下,可以尝试使用管理员权限或与系统管理员联系以解决权限问题。 要解决这个问题,我们可以按照以下步骤进行操作。首先,确保Hadoop已正确安装并设置了正确的环境变量和路径。其次,检查使用的Hadoop版本是否与命令兼容。最后,确保当前用户具有执行命令所需的权限。 总结而言,当HDFS格式化时找不到命令,我们需要检查Hadoop的安装、配置、版本兼容性和权限等问题。通过对这些问题进行逐一排查,并解决相应的问题,我们就能够成功格式化HDFS并开始使用它来存储和处理大数据。 ### 回答3: Hadoop分布式文件系统(HDFS格式化是在部署Hadoop集群之前必须执行的一项操作。这个命令会将HDFS的元数据和数据全部删除,并将文件系统恢复为初始状态。这样做是为了确保干净的起点,以便重新开始构建和使用HDFS。 当我们在命令行中输入"hdfs namenode -format"命令时,如果提示找不到命令,可能是由于以下原因: 1. Hadoop安装错误:Hadoop分发包未正确安装或配置。在执行HDFS格式化命令之前,需要确保已经正确地安装和配置了Hadoop。可以检查Hadoop的安装目录以及环境变量的设置,确保其正常运行。 2. 命令路径错误:Hadoop的bin目录没有添加到系统的PATH环境变量中。在执行HDFS格式化之前,需要将Hadoop的bin目录添加到系统的PATH环境变量中。这样系统就能够找到并识别"hdfs"命令。 3. Hadoop版本不匹配:Hadoop的版本与当前部署的版本不匹配。在执行HDFS格式化命令之前,需要确保Hadoop的版本与当前Hadoop集群的版本一致。如果版本不匹配,可能会导致"hdfs"命令无法识别。 4. HDFS服务未正确启动:HDFS服务没有成功启动或运行。在执行HDFS格式化命令之前,需要确保HDFS服务已经正确启动。可以使用"hadoop-daemon.sh start namenode"命令来启动HDFS服务,并确保服务运行正常,然后再执行格式化命令。 总之,如果在执行"hdfs namenode -format"命令时提示找不到命令,应该仔细检查Hadoop的安装和配置,确保Hadoop的版本正确,并确保HDFS服务已经正确启动。只有在以上步骤都正确无误的情况下,才能成功执行HDFS格式化命令。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值