我正在尝试在5台计算机的(测试)集群上安装Hadoop 1.2.1,其中一个节点用作JobTracker,NameNode和Secondary NameNode。其余4台机器都是奴隶。
有两个问题。
1)在master的conf / masters和conf / slaves文件中,我分别提供了master和slave的IP地址。在从站上,主站文件为空,从站文件包含自己的IP。
启动hadoop(bin / start-all.sh)时,TaskTracker和DataNode无法启动。我在/ etc / hosts文件中输入了这些机器的主机名,并尝试在主机和从机文件中输入它们的主机名。这没有任何区别 - TaskTracker和DataNode无法启动。
启动hadoop服务时,我收到一条消息,表明已经编写了TaskTracker和DataNode日志。但奇怪的是,我没有在那个地方找到它们。以下是我收到的消息
10.6.80.4:启动datanode,登录到/home/ubuntu/hadoop-1.2.1/libexec /../ logs / hadoop-ubuntu-datanode-dsparq-instance4.out
10.6.80.2:启动tasktracker,登录到/home/ubuntu/hadoop-1.2.1/libexec /../ logs / hadoop-ubuntu-tasktracker-dsparq-instance2.out
2)在JobTracker / NameNode日志中,多次列出以下异常。
错误:java.io.IOException:文件<>只能复制到0 节点,而不是1
这些问题的解决方案(在StackOverflow上)建议重新格式化hdfs并检查/ etc / hosts的条目。我尝试了他们两个,但这没有帮助。
请告诉我如何解决这些错误。提前谢谢。
添加core-site.xml和mapred-site.xml的内容(在所有机器上都相同)
芯-site.xml中
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://10.6.80.21:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/hadoop/hdfs</value>
</property>
</configuration>
mapred-site.xml中
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hdfs://10.6.80.21:8021</value>
</property>
</configuration>
答案 0 :(得分:1)
应该将日志写入* .out文件,但它不包含太多信息。在/ var / log / hadoop /目录中查找有关namenode或其他恶魔的最新日志的* .log文件(如果你有基于RPM的安装其他查看$ HADOOP_HOME日志文件夹)。针对上述问题,请确保所有节点中的core-site.xml都指定了namenode详细信息。同样,检查整个集群中的mapred-site.xml,它应该包含jobtracker的地址。
还要确保跨群集维护主机名,或者只使用ip地址。 我们必须在整个集群中创建hadoop.tmp.dir(我们在核心站点中提到的位置),它应该具有适当的文件权限,以便您的hdfs用户可以执行读/写操作。
<强>核心-site.xml中强>
<property>
<name>hadoop.tmp.dir</name>
<value>/loation/for/temp/dir</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://namenodehostname</value>
<description>The name of the default file system.</description>
</property>
<强> Mapred-site.xml中强>
<property>
<name>mapred.job.tracker</name>
<value>jobtrackerhostname</value>
<description>The host and port that the MapReduce job tracker
</description>
</property>
如果您认为所有上述属性都已在群集中设置且仍然面临问题。请更新您的完整日志以及配置文件。