2011-08-16 17:07:00,946 ERROR datanode.DataNode - DatanodeRegistration(192.168.2.12:50010, storageID=DS-1678238992-127.0.0.2-50010-1313485333243, infoPort=50075, ipcPort=50020):DataXceiver
org.apache.hadoop.hdfs.server.datanode.BlockAlreadyExistsException: Block blk_6201731654815689582_1003 is valid, and cannot be written to.
at org.apache.hadoop.hdfs.server.datanode.FSDataset.writeToBlock(FSDataset.java:983)
at org.apache.hadoop.hdfs.server.datanode.BlockReceiver.<init>(BlockReceiver.java:98)
at org.apache.hadoop.hdfs.server.datanode.DataXceiver.writeBlock(DataXceiver.java:259)
at org.apache.hadoop.hdfs.server.datanode.DataXceiver.run(DataXceiver.java:103)
at java.lang.Thread.run(Thread.java:662)
answer:
这个问题则为:
/etc/hosts 要ip 映射到主机名
例如:
#hadoop master
192.168.2.10 server0
192.168.2.11 server1
192.168.2.12 server2
192.168.2.13 server3
**当你修改了这个发现还有这个问题时
vi /etc/HOSTNAME 这个文件里 一定要改成相应的 master 或是 slave 所在的 主机名
而不能是localhost
例如:server1 的机器
则 HOSTNAME 内为 server1