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