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>那么你应该将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
?
④