Hadoop 集锦

①could only be replicated to 0 nodes, instead of 1的解决方案

1、先确保自己的节点都是启动的状态

$hadoop-daemon.sh start namenode$hadoop-daemon.sh start datanode

如果还是不行

如果你的 conf/core-site.xml的配置是:

<configuration>

<property>

<name>fs.default.name</name>

<value>hdfs://machine1:9000/</value>

</property>

</configuration>

那么你应该将machine1的9000端口打开:

#iptables -I INPUT  -p tcp --dport 9000 -j ACCEPT

然后可以查看 

http://machine1:50070/dfshealth.jsp (你应该将500070端口也打开)

 再执行,又报别的错:hdfs.DFSClient: Exception in createBlockOutputStream java.net.ConnectException: Connection refused

 应该是datanode上的端口不能访问,到datanode上修改iptables:

#iptables -I INPUT  -s machine1 -p tcp  -j ACCEPT

 OK 了!

②、# hadoop fs -put /home/hadoop/word.txt /tmp/wordcount/word5.txt出现的错误

解决方案:

这个问题是由于没有添加节点的原因,也就是说需要先启动namenode,再启动datanode,然后启动jobtracker和tasktracker。这样就不会存在这个问题了。 目前解决办法是分别启动节点#hadoop-daemon.sh start namenode #$hadoop-daemon.sh start datanode

1.   重新启动namenode

# hadoop-daemon.sh start namenode

starting namenode, logging to /usr/hadoop-0.21.0/bin/../logs/hadoop-root-namenode-www.keli.com.out

2.   重新启动datanode

# hadoop-daemon.sh start datanode

starting datanode, logging to /usr/hadoop-0.21.0/bin/../logs/hadoop-root-datanode-www.keli.com.out

③格式化

hadoop namenode -format

相关推荐