10

私は喜んで HDFS に接続し、ホーム ディレクトリを一覧表示しています。

Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://hadoop:8020");
conf.set("fs.hdfs.impl", "org.apache.hadoop.hdfs.DistributedFileSystem");
FileSystem fs = FileSystem.get(conf);
RemoteIterator<LocatedFileStatus> ri = fs.listFiles(fs.getHomeDirectory(), false);
while (ri.hasNext()) {
    LocatedFileStatus lfs = ri.next();
    log.debug(lfs.getPath().toString());
}
fs.close();

私が今やりたいことは、(whoisユーザーではなく)特定のユーザーとして接続することです。接続するユーザーを指定する方法を知っている人はいますか?

4

2 に答える 2

0

正解した場合は、whois ユーザーではなく、指定した場合にユーザーのホーム ディレクトリを取得するだけで済みます。

構成ファイルで、homedir プロパティを user/${user.name} に設定します。user.name という名前のシステム プロパティがあることを確認します。

これは私の場合はうまくいきました。

これがあなたのやりたいことだといいのですが、そうでない場合はコメントを追加してください。

于 2013-05-27T07:33:32.503 に答える