5

シングルノードのマルチユーザーHadoopクラスターをセットアップしました。私のクラスターには、クラスターの実行を担当する管理者ユーザー(スーパーユーザー)がいます。他のすべてのユーザーには、/ home/xyzのようなhdfsディレクトリが割り当てられます。xyzはユーザー名です。

UNIXでは、/ etc/passwd内のユーザーのデフォルトのホームディレクトリを変更できます。また、デフォルトでは、ユーザーのランディングディレクトリはホームディレクトリです。

hdfsファイルシステムのhadoopでそれを行うにはどうすればよいですか。たとえば、ユーザーが次のように入力した場合:UNIXプロンプトで$ hadoopdfs-ls。私が割り当てたホームディレクトリの内容を一覧表示します。

さらに、hdfsディレクトリは、クラスターを実行するスーパーユーザー(UNIXルートではなくhadoopスーパーユーザー)によって作成され、所有権を特定のユーザーに譲渡します。

4

2 に答える 2

8

これが構成できるものかどうかはわかりません。DistributedFileSystemのソース 150行目)には、ハードコーディングされているように見えるgetHomeDirectoryの呼び出しがあります。

@Override
public Path getHomeDirectory() {
  return makeQualified(new Path("/user/" + dfs.ugi.getShortUserName()));
}

これを変更できるようにする場合は、2つの選択肢があります。

  • 新機能を要求するHadoopへのチケットを送信する-このリンクを参照してください
  • ソースを自分で修正し、hadoop-core jarをクラスター全体に再構築して再配布します(単一ノードの疑似クラスターで単純)
于 2012-04-09T10:30:32.920 に答える
1

tapan、各ユーザーは/ user/usernameにあるHDFSの「ホーム」ディレクトリを持っています。たとえば、hadoop fs -lsと入力すると、現在のHDFSユーザーディレクトリが表示されます。2人でシングルチェックしました。

unix like file(/ etc / passwd)設定に来て、私は知りませんでした。しかし、それは本当に面白いです。クリスが言ったように、設定ファイルのようなuser-admin-site.xmlを導入し、グループ、ユーザーのディレクトリ、ホームディレクトリなどに対する権限を追加するなどの新機能を追加できます。

于 2012-04-10T03:22:07.070 に答える