在对HDFS格式化,执行hadoop namenode -format命令时,出现未知的主机名的问题,异常信息如下所示:
[shirdrn@localhost bin]$ hadoop namenode -format
11/06/22 07:33:31 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = java.net.UnknownHostException: localhost.localdomain: localhost.localdomain
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 0.20.0
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
************************************************************/
Re-format filesystem in /tmp/hadoop/hadoop-shirdrn/dfs/name ? (Y or N) Y
11/06/22 07:33:36 INFO namenode.FSNamesystem: fsOwner=shirdrn,shirdrn
11/06/22 07:33:36 INFO namenode.FSNamesystem: supergroup=supergroup
11/06/22 07:33:36 INFO namenode.FSNamesystem: isPermissionEnabled=true
11/06/22 07:33:36 INFO metrics.MetricsUtil: Unable to obtain hostName
java.net.UnknownHostException: localhost.localdomain: localhost.localdomain
at java.net.InetAddress.getLocalHost(InetAddress.java:1353)
at org.apache.hadoop.metrics.MetricsUtil.getHostName(MetricsUtil.java:91)
at org.apache.hadoop.metrics.MetricsUtil.createRecord(MetricsUtil.java:80)
at org.apache.hadoop.hdfs.server.namenode.FSDirectory.initialize(FSDirectory.java:73)
at org.apache.hadoop.hdfs.server.namenode.FSDirectory.<init>(FSDirectory.java:68)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:370)
at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:853)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:947)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:964)
11/06/22 07:33:36 INFO common.Storage: Image file of size 97 saved in 0 seconds.
11/06/22 07:33:36 INFO common.Storage: Storage directory /tmp/hadoop/hadoop-shirdrn/dfs/name has been successfully formatted.
11/06/22 07:33:36 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at java.net.UnknownHostException: localhost.localdomain: localhost.localdomain
************************************************************/
我们通过执行hostname命令可以看到:
[shirdrn@localhost bin]# hostname
localhost.localdomain
也就是说,Hadoop在格式化HDFS的时候,通过hostname命令获取到的主机名是localhost.localdomain,然后在/etc/hosts文件中进行映射的时候,没有找到,看下我的/etc/hosts内容:
[root@localhost bin]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost localhost
192.168.1.103 localhost localhost
也就说,通过localhost.localdomain根本无法映射到一个IP地址,所以报错了。
此时,我们查看一下/etc/sysconfig/network文件:
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=localhost.localdomain
可见,执行hostname获取到这里配置的HOSTNAME的值。
解决办法:
修改/etc/sysconfig/network中HOSTNAME的值为localhost,或者自己指定的主机名,保证localhost在/etc/hosts文件中映射为正确的IP地址,然后重新启动网络服务:
[root@localhost bin]# /etc/rc.d/init.d/network restart
Shutting down interface eth0: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0:
Determining IP information for eth0... done.
[ OK ]
这时,再执行格式化HDFS命令,以及启动HDFS集群就正常了:
[shirdrn@localhost bin]$ hadoop namenode -format
11/06/22 08:02:37 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = localhost/127.0.0.1
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 0.20.0
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
************************************************************/
11/06/22 08:02:37 INFO namenode.FSNamesystem: fsOwner=shirdrn,shirdrn
11/06/22 08:02:37 INFO namenode.FSNamesystem: supergroup=supergroup
11/06/22 08:02:37 INFO namenode.FSNamesystem: isPermissionEnabled=true
11/06/22 08:02:37 INFO common.Storage: Image file of size 97 saved in 0 seconds.
11/06/22 08:02:37 INFO common.Storage: Storage directory /tmp/hadoop/hadoop-shirdrn/dfs/name has been successfully formatted.
11/06/22 08:02:37 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at localhost/127.0.0.1
************************************************************/
[shirdrn@localhost bin]$ start-all.sh
starting namenode, logging to /home/shirdrn/eclipse/eclipse-3.5.2/hadoop/hadoop-0.20.0/logs/hadoop-shirdrn-namenode-localhost.out
localhost: starting datanode, logging to /home/shirdrn/eclipse/eclipse-3.5.2/hadoop/hadoop-0.20.0/logs/hadoop-shirdrn-datanode-localhost.out
localhost: starting secondarynamenode, logging to /home/shirdrn/eclipse/eclipse-3.5.2/hadoop/hadoop-0.20.0/logs/hadoop-shirdrn-secondarynamenode-localhost.out
starting jobtracker, logging to /home/shirdrn/eclipse/eclipse-3.5.2/hadoop/hadoop-0.20.0/logs/hadoop-shirdrn-jobtracker-localhost.out
localhost: starting tasktracker, logging to /home/shirdrn/eclipse/eclipse-3.5.2/hadoop/hadoop-0.20.0/logs/hadoop-shirdrn-tasktracker-localhost.out
[shirdrn@localhost bin]$ jps
8192 TaskTracker
7905 DataNode
7806 NameNode
8065 JobTracker
8002 SecondaryNameNode
8234 Jps
相关推荐
在执行hadoop namenode -format命令时,出现未知的主机名。 问题原因: 出现这种问题的原因是Hadoop在格式化HDFS的时候,通过hostname命令获取到的主机名与/etc/hosts文件中进行映射的时候,没有找到。 解决...
在使用Hadoop进行数据上传时,可能会出现"java.io.IOException: Not a file: hdfs://localhost:9000/user/icymary/input/test-in"的错误提示。解决办法是,删除原来的文件,然后重新上传数据。这个错误可能是由于多...
6. **格式化NameNode**: 运行`hdfs namenode -format`命令,对NameNode进行格式化,这是启动Hadoop集群的第一步。 7. **启动Hadoop服务**: 使用`start-dfs.cmd`和`start-yarn.cmd`命令启动Hadoop的DataNode、...
6. **格式化NameNode**:在命令行中使用`hdfs namenode -format`命令对NameNode进行格式化,这是启动Hadoop集群的必要步骤。 7. **启动Hadoop**:使用`start-dfs.cmd`和`start-yarn.cmd`命令启动Hadoop的DataNodes...
1. **格式化NameNode**: 在命令行中运行`hadoop namenode -format`,首次启动前必须执行此操作。 2. **启动Hadoop服务**: 先启动DataNode和SecondaryNameNode,再启动NameNode,最后启动ResourceManager和...
首次安装Hadoop时,需要对NameNode进行格式化,创建HDFS的元数据。在Hadoop目录下运行`hdfs namenode -format`命令即可。 六、启动Hadoop服务 Hadoop的服务包括NameNode、DataNode、SecondaryNameNode以及...
5. 初始化HDFS:使用`hadoop namenode -format`命令格式化NameNode。 6. 启动Hadoop服务:启动DataNode、NameNode、ResourceManager、NodeManager等相关进程。 7. 测试Hadoop安装:可以通过`hadoop fs -ls /`命令...
完成配置后,初始化HDFS命名空间,格式化NameNode,通过`hadoop namenode -format`命令实现。接着,启动Hadoop的各个服务,包括DataNode、NameNode、ResourceManager、NodeManager等。可以使用`start-dfs.sh`和`...
先格式化NameNode,使用命令`hadoop namenode -format`,然后分别启动DataNode和NameNode,以及Resource Manager和Node Manager,使用以下命令: ``` start-dfs.cmd start-yarn.cmd ``` 至此,Hadoop的分布式文件...
4. **HDFS初始化**:使用`hdfs namenode -format`命令格式化NameNode,这是首次启动Hadoop集群的必要步骤。 5. **启动服务**:启动DataNode、NameNode和ResourceManager等服务,可以使用`start-dfs.cmd`和`start-...
4. 初始化和格式化NameNode,使用`hdfs namenode -format`命令。 5. 启动Hadoop服务,包括DataNode、NameNode、ResourceManager、NodeManager等。 6. 使用Hadoop提供的命令行工具或者开发应用程序进行数据处理。 ...
(4) 使用hadoop namenode -format命令格式化NameNode,使用start-all.sh命令启动所有Hadoop进程。 (5) 在各节点命令行输入jps检查是否启动成功,若成功,使用wordcount示例进行测试,Hadoop平台搭建完成。 (6)...
- `hadoop namenode -format`:格式化NameNode。 - `hadoop secondarynamenode -run`:运行Secondary NameNode。 - `hadoop namenode -run`:运行NameNode。 - `hadoop datanode -run`:运行DataNode。 - `...
6. **格式化NameNode**:首次安装时,需要对NameNode进行格式化,这会清除所有HDFS上的数据,命令是 `hadoop namenode -format`。 7. **启动Hadoop**:启动Hadoop的各个服务,包括DataNode、NameNode、...
- 解决方案:当执行 `hadoop namenode -format` 时,确保 DataNode 和 NameNode 的元数据被正确格式化。若之前有残留的临时文件,需要先清除,然后重新执行格式化命令 `hadoop namenode -format`。 #### 三、成功...
管理员还可以使用`hadoop dfsadmin -finalizeUpgrade`命令在升级之前删除上一次升级时制作的集群备份,以及通过`hadoop dfsadmin -upgradeProgress status`命令来检查是否需要执行升级终结操作。升级和回滚操作分别...
6. **格式化NameNode**:在命令行中使用`hadoop namenode -format`命令对NameNode进行格式化,这是首次启动Hadoop集群的必要步骤。 7. **启动Hadoop服务**:通过运行`start-dfs.sh`和`start-yarn.sh`脚本启动Hadoop...
- **格式化HDFS**:首次安装时需执行`hdfs namenode -format`来初始化NameNode。 - **启动Hadoop**:通过`start-dfs.sh`和`start-yarn.sh`命令启动HDFS和YARN服务。 4. **HDFS操作** - **上传数据**:使用`...
3. **格式化HDFS**:首次启动Hadoop时,需要使用`hadoop namenode -format`命令格式化命名节点。 4. **启动Hadoop**:通过运行`start-dfs.sh`和`start-yarn.sh`脚本来启动Hadoop的HDFS和YARN服务。 5. **测试运行**...
**格式化HDFS文件系统**:使用`hdfs namenode -format`命令初始化HDFS。 6. **启动Hadoop服务**:执行`start-dfs.sh`和`start-yarn.sh`脚本来启动HDFS和YARN服务。 #### 2.2 HDFS 常用命令 - **启动Hadoop**:`...