2011-06-10 67 views
5

我目前正在学习Hadoop和我试图安装一个单节点测试中http://hadoop.apache.org/common/docs/current/single_node_setup.html“的Hadoop的NameNode -format”返回的java.net.UnknownHostException

我已经将ssh配置定义(我可以登录没有密码)。

我的服务器位于我们的Intranet上,位于代理之后。

当我试图运行

斌/ Hadoop的NameNode的-format

我得到以下的java.net.UnknownHostException异常:

$ bin/hadoop namenode -format 
11/06/10 15:36:47 INFO namenode.NameNode: STARTUP_MSG: 
/************************************************************ 
STARTUP_MSG: Starting NameNode 
STARTUP_MSG: host = java.net.UnknownHostException: srv-clc-04.univ-nantes.prive3: srv-clc-04.univ-nantes.prive3 
STARTUP_MSG: args = [-format] 
STARTUP_MSG: version = 0.20.203.0 
STARTUP_MSG: build = http://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20-security-203 -r 1099333; compiled by 'oom' on Wed May 4 07:57:50 PDT 2011 
************************************************************/ 
Re-format filesystem in /home/lindenb/tmp/HADOOP/dfs/name ? (Y or N) Y 
11/06/10 15:36:50 INFO util.GSet: VM type  = 64-bit 
11/06/10 15:36:50 INFO util.GSet: 2% max memory = 19.1675 MB 
11/06/10 15:36:50 INFO util.GSet: capacity  = 2^21 = 2097152 entries 
11/06/10 15:36:50 INFO util.GSet: recommended=2097152, actual=2097152 
11/06/10 15:36:50 INFO namenode.FSNamesystem: fsOwner=lindenb 
11/06/10 15:36:50 INFO namenode.FSNamesystem: supergroup=supergroup 
11/06/10 15:36:50 INFO namenode.FSNamesystem: isPermissionEnabled=true 
11/06/10 15:36:50 INFO namenode.FSNamesystem: dfs.block.invalidate.limit=100 
11/06/10 15:36:50 INFO namenode.FSNamesystem: isAccessTokenEnabled=false accessKeyUpdateInterval=0 min(s), accessTokenLifetime=0 min(s) 
11/06/10 15:36:50 INFO namenode.NameNode: Caching file names occuring more than 10 times 
11/06/10 15:36:50 INFO common.Storage: Image file of size 113 saved in 0 seconds. 
11/06/10 15:36:50 INFO common.Storage: Storage directory /home/lindenb/tmp/HADOOP/dfs/name has been successfully formatted. 
11/06/10 15:36:50 INFO namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************ 
SHUTDOWN_MSG: Shutting down NameNode at java.net.UnknownHostException: srv-clc-04.univ-nantes.prive3: srv-clc-04.univ-nantes.prive3 
************************************************************/ 

之后, hadoop开始了

./bin/start-all.sh 

但还有一个新的异常,当我试图复制一个本地文件:

bin/hadoop fs -copyFromLocal ~/file.txt file.txt 

DataStreamer Exception: org.apache.hadoop.ipc.RemoteException: java.io.IOException: File /user/lindenb/file.txt could only be replicated to 0 nodes, instead of 1 
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1417) 

我怎么能解决这个问题吗?

感谢

+0

我在CentOS虚拟机的Cloudera发行版上格式化我的NameNode时收到类似的错误。你能告诉我你对/ etc/hosts文件做了什么吗?我目前有以下几行: – 2013-11-19 20:38:27

+0

'127.0.0.1 localhost.localdomain localhost'和':: localhost6.localdomain6 localhost6' – 2013-11-19 20:39:08

回答

4

UnknownHostException时的Hadoop尝试解析DNS名称(SRV-CLC-04.univ-nantes.prive3)的IP地址被抛出。这失败了。

查找配置文件中的域名并将其替换为“localhost”。 (或更新DNS,将名称解析为IP地址)

+0

谢谢,我在/ etc/hosts中添加了一个别名 – Pierre 2011-06-15 06:41:58

+0

谢谢,我也有相同的issu更新/ etc/hosts文件帮助 – Rak 2015-10-18 14:25:55

0

您创建的tmp目录应具有所有权问题。这就是为什么Hadoop是不能写入TMP directoy修复它运行以下命令

sudo chown hduser:hadoop /app/<your hadoop tmp dir> 
0

追加下面以/etc/hosts可以帮助:

127.0.0.1 localhost yourhostname 
3

首先得到您的计算机的主机名。它可以通过运行$hostname命令获得。 然后将127.0.0.1 localhost hostname添加到/etc/hosts文件中。这应该可以解决问题。