我试图用一个namenode和两个datanode(slave1和slave2)来设置hadoop集群,所以我从apachehadoop下载了zip文件,并在namenode和一个datanode(slave1)中解压了它。
因此,我在master/slave1中进行了所有配置(格式化namenode),并成功地用master设置了slave1,这意味着我能够提交一个作业并在管理ui中查看datanode示例。
因此,我在slave1中压缩了整个hadoop安装,在slave2中解压了它,并更改了tmp目录和环境变量(如javahome)的一些属性值。我没有触及core-site.xml中的主url(fs.defaultfs)。
当我尝试在slave2中启动datanode时,我得到了这个错误。
java.io.IOException: Incorrect configuration: namenode address dfs.namenode.servicerpc-address or dfs.namenode.rpc-address is not configured
奇怪的是,我没有在slave1中指定这些属性,并且能够在slave1中毫无问题地启动datanode,但是它在slave2中抛出了这个错误,尽管所有的配置都是相同的。
我发现这些链接与此问题有关,但在我的环境中不起作用。
JavaIOException不正确
未配置dfs名称节点服务rpc地址或dfs名称节点rpc地址
配置不正确名称节点地址dfs名称节点rpc地址未配置
我正在centos上使用Hadoop2.4.1和jdk1.7。
这将是非常有用的,如果有人谁有这个问题已经解决了,可以分享一些信息。
谢谢。
6条答案
按热度按时间5us2dqdw1#
这些步骤为我解决了问题:
export hadoop\u conf\u dir=$hadoop\u home/etc/hadoop
echo$hadoop\配置\目录
hdfs namenode-格式
hdfs getconf-名称节点
.start-dfs.sh文件
然后,hadoop就可以正常启动了。
lrl1mhuk2#
然后您必须授予用户访问文件夹的权限。
xienkqul3#
如果您的主机名包含字符“\”,例如“my\u host”,请将其更改为“myhost”,不要忘记在core-site.xml中也更改主机名。
jw5wzhpr4#
我遇到了和你一样的问题。
当我使用命令scp将配置从主机复制到从机时,这个命令并没有真正替换您的文件。在我先删除整个hadoop文件夹并再次复制之后,这个问题就解决了。
我建议你在你的奴隶2中再检查一次配置。
祝你好运。
wgx48brx5#
我也遇到了和你一样的问题。原因是:我配置了错误的文件,如hadoop-env.sh、hdfs-site.xml、core-site.xml、mapred-site.xml。这些文件放在
/usr/local/hadoop/etc/hadoop
目录而不是/usr/local/hadoop/conf
与以前的版本相同。另外,还有一个文件mapred-site.xml.template
在/usr/local/hadoop/etc/hadoop
目录,因此,您必须将此文件复制到类似以下命令的其他文件hduser@localhost:~$ cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/etc/hadoop/mapred-site.xml
我建议您按照本指南重新配置系统。在单节点上安装hadoop。从这里,您可以探索您的问题,当您安装在多节点7rtdyuoh6#
只需将core-site.xml配置为:
意思是配置
dfs.namenode.rpc-address
.我遇到过一次错误的经历。与问题描述的错误信息相同。
(物业名称拼写错误)