org.apache.hadoop.hdfs.server.datanode.BlockAlreadyExistsException


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

你可能感兴趣的:(org.apache.hadoop.hdfs.server.datanode.BlockAlreadyExistsException)