ディレクトリがあるのにdoes not existと言われてdatanodeが起動できなかった
hadoopのdatanodeを起動しようとして下記のようなエラーメッセージが出て起動できないことがあった。
INFO org.apache.hadoop.hdfs.server.common.Storage: Cannot access storage directory /data1/hadoop/dfs INFO org.apache.hadoop.hdfs.server.common.Storage: Storage directory /data1/hadoop/dfs does not exist. ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: org.apache.hadoop.util.DiskChecker$DiskErrorException: Invalid value for volsFailed : 1 , Volumes tolerated : 0 at org.apache.hadoop.hdfs.server.datanode.FSDataset.<init>(FSDataset.java:975) at org.apache.hadoop.hdfs.server.datanode.DataNode.startDataNode(DataNode.java:389) at org.apache.hadoop.hdfs.server.datanode.DataNode.<init>(DataNode.java:299) at org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:1582) at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:1521) at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:1539) at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:1665) at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:1682) INFO org.apache.hadoop.hdfs.server.datanode.DataNode: SHUTDOWN_MSG:
/data1/hadoop/dfs does not exist とかいわれているが/data1/hadoop/dfs は存在するディレクトリなので?な感じだった。
#/data1/hadoop/dfsはdfs.data.dirで指定している値です。
そしたら下記のようにこの/data1パーティションに書き込みできないような状態だった。
$ touch /data1/aaa touch: cannot touch `/data1/aaa': Read-only file system