Hadoop hostname: Unknown host

本来下想在一台虚拟机上,搭建一个hadoop的测试hadoop,用于调试和阅读hadoop源代码,发现在虚拟机上执行:

$hostname -i

hostname: Unknown host

这个是因为没有设置/etc/hosts文件导致的,如果linux的环境是这样的,那么将会在启动datanode和tasktracker的时候失败,

  datanode和namenode将会抛出如下的异常:

2015-01-28 12:36:36,506 INFO org.apache.hadoop.metrics2.impl.MetricsConfig: loaded properties from hadoop-metrics2.properties
2015-01-28 12:36:36,535 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapter: MBean for source MetricsSystem,sub=Stats registered.
2015-01-28 12:36:36,540 ERROR org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Error getting localhost name. Using ‘localhost‘...
java.net.UnknownHostException: PC_PAT1: PC_PAT1: Name or service not known
        at java.net.InetAddress.getLocalHost(InetAddress.java:1473)
        at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.getHostname(MetricsSystemImpl.java:463)
        at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.configureSystem(MetricsSystemImpl.java:394)
        at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.configure(MetricsSystemImpl.java:390)
        at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.start(MetricsSystemImpl.java:152)
        at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.init(MetricsSystemImpl.java:133)
        at org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.init(DefaultMetricsSystem.java:40)
        at org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.initialize(DefaultMetricsSystem.java:50)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:1520)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:1539)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:1665)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:1682)
Caused by: java.net.UnknownHostException: PC_PAT1: Name or service not known
        at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
        at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:901)
        at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1293)
        at java.net.InetAddress.getLocalHost(InetAddress.java:1469)
        ... 11 more

解决方案是在/etc/hosts文件中添加如下红色的内容,即172.18.140.24 PC_PAT1

[email protected]_PAT1:~/hadoop-1.0.3> less /etc/hosts
#
# hosts         This file describes a number of hostname-to-address
#               mappings for the TCP/IP subsystem.  It is mostly
#               used at boot time, when no name servers are running.
#               On small systems, this file can be used instead of a
#               "named" name server.
# Syntax:
#
# IP-Address  Full-Qualified-Hostname  Short-Hostname
#

#127.0.0.1      localhost
#127.0.0.1      localhost.localdomain localhost cpyftest-2
127.0.0.1       localhost localhost.localdomain localhost4 localhost4.localdomain4
172.18.140.24   PC_PAT1
# special IPv6 addresses
::1             localhost ipv6-localhost ipv6-loopback

fe00::0         ipv6-localnet

ff00::0         ipv6-mcastprefix
ff02::1         ipv6-allnodes
ff02::2         ipv6-allrouters
ff02::3         ipv6-allhosts

添加后,hostname –i 将会得到正确的结果:

将hostname unkown的问题解决后,重启hadoop集群,可以发现,datanode/tasktracker , namenode/jobtracker都启动了:

时间: 2024-08-04 07:47:52

Hadoop hostname: Unknown host的相关文章

输入hostname -f提示:hostname: Unknown host

解决方法:将/etc/hosts文件中的内容添加如下所示 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.10.10 master.303kfy.net master localhost.localdomain192.168.10.51 s

Linux ping:unknown host问题排查

一.检查网卡配置:输入ifconfig可以查看当前网卡配置的IP地址并且查看配置文件中网络的设置: [[email protected]01 ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:71:FC:1E inet addr:192.168.0.117 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe71:fc1e/64 Scope:Link UP

转载:解决linux ping: unknown host www.baidu.com

解决linux ping: unknown host www.baidu.com 转载网址:http://www.kankanews.com/ICkengine/archives/48417.shtml 解决方案: 如果某台Linux服务器ping不通域名, 如下提示: [root@localhost ~]# ping www.baidu.com ping: unknown host www.baidu.com 首先确定已经连接上路由器,并且路由器能够访问外网,可以通过访问网关进行确定 [roo

Linux不能上网ping:unknown host问题怎么解决?

Linux不能上网提示ping:unknown host 检查步骤 Linux系统跟windows平台有所不同的是,为了更好的做网络服务应用.Linux下多用于网络服务器,而且操作界面是字符界面.对于新手遇到最常见的问题就是,linux不能上网DNS解析不了,提示ping:unknown host ,本例以Centos为例 检查网卡配置 出现ping:unknown host 的问题最主要是linux设置的DNS解析不了 遇到这个问题我们先检查一下网卡的设置情况,输入ifconfig -a 可以

ping: unknown host www.baidu.com 最简单的方法

呵呵 一点儿小技巧 不懂原理的可以私聊本人. ping www.baidu.com ping: unknown host www.baidu.com vim /etc/resolv.conf nameserver 8.8.8.8 ping 8.8.8.8 * 网络不可达 ifconfig eth0 192.168.1.235  up ping 8.8.8.8 ifconfig eth0 192.168.1.235 netmask 255.255.255.0  up ping 8.8.8.8 ro

ping: unknown host解决办法

如果ping命令返回如下错误,那主要的可能性就是系统的DNS设置有误. [cpp] [[email protected] ~]# ping www.sina.com.cn ping: unknown host www.sina.com.cn 可以通过如下方法来解决,此方法已经在linux和solaris系统下通过验证. 1) 确定设置了域名服务器 没有的话, 建议设置Google的公共DNS服务, 它应该不会出问题的 [cpp] # cat /etc/resolv.conf ----------

双网卡虚拟机不能上网问题: unknown host www.baidu.com

环境: 配置了两块网卡,分为内网和外网; 内网:host-only 模式 192.168.142.140 外网:NAT模式   192.168.116.140 配置文件: 网卡配置文件: [[email protected] network-scripts]# cat ifcfg-eth0DEVICE=eth0TYPE=EthernetONBOOT=yesNM_CONTROLLED=yesBOOTPROTO=dhcp[[email protected] network-scripts]# cat

oracle unknown host specified 解决方案

今天还原oracle 11 G到oracle 10G上,首先出现了版本不匹配的问题. 此问题使用 http://hundage.blog.51cto.com/3779401/1285465   中的解决方法可以解决. 解决头文件验证失败的问题后,执行还原命令总是提示用户不存在. 在运行对话框中输入 cmd > sqlplus /nolog >conn sys/manager as sysdba; >conn user/password;返回的结果是已连接. 就想着是不是创建用户出现了问题

ping: unknown host baidu.com

本机环境:Centos 自己的虚拟机最近不能等外网了,现状如下: [[email protected] ~]# ping baidu.comping: unknown host baidu.com 查看了下本机的网卡配置: [[email protected] ~]# more /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0"BOOTPROTO="static"HWADDR="00:0C:29: