【发布时间】:2015-04-13 16:55:05
【问题描述】:
我正在尝试在 5 台机器的(测试)集群上安装 Hadoop 1.2.1,其中一个节点用作 JobTracker、NameNode 和辅助 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的内容(所有机器都一样)
核心站点.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>
【问题讨论】: