私はhadoopでJUnitテストを試みていますが、MiniDFSCluster、MiniMRCluster、およびJUnitを使用してローカルのmini-hadoop環境で実行するテストケースを作成しました。
ただし、次のエラーが発生します。
WARNING: Metrics system not started: Cannot locate configuration: tried hadoop-metrics2-datanode.properties, hadoop-metrics2.properties
Dec 18, 2012 4:42:29 PM org.apache.hadoop.hdfs.server.datanode.DataNode makeInstance
WARNING: Invalid directory in dfs.data.dir: Incorrect permission for build/test/data/dfs/data/data1, expected: rwxr-xr-x, while actual: rwxrwxr-x
Dec 18, 2012 4:42:29 PM org.apache.hadoop.hdfs.server.datanode.DataNode makeInstance
WARNING: Invalid directory in dfs.data.dir: Incorrect permission for build/test/data/dfs/data/data2, expected: rwxr-xr-x, while actual: rwxrwxr-x
Dec 18, 2012 4:42:29 PM org.apache.hadoop.hdfs.server.datanode.DataNode makeInstance
SEVERE: All directories in dfs.data.dir are invalid.
これは、まだ保留中のHDFSバグhttps://issues.apache.org/jira/browse/HDFS-2556のように見えます。
使用しているHadoopのバージョンを変更できないので、Hadoopにこれらのアクセス許可を強制的に受け入れる方法はありますか?
試しました:System.setProperty( "dfs.datanode.data.dir.perm"、 "775"); しかし、hadoopはそれらを無視します。
また、権限を手動で変更することはできません。ミニクラスターは実行のたびに権限を再作成するようです。
Hadoopを変更したりバージョンを変更したりせずにこれを克服する方法はありますか?ありがとう。