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的配置是:
<property>
<name>fs.default.name</name>
<value>hdfs://machine1:9000/</value>
</property>
</configuration>那么你应该将machine1的9000端口打开:
#iptables -I INPUT -p tcp --dport 9000 -j ACCEPT
然后可以查看
再执行,又报别的错:hdfs.DFSClient: Exception in createBlockOutputStream java.net.ConnectException: Connection refused
应该是datanode上的端口不能访问,到datanode上修改iptables:
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
④