Hadoop を学んでいて、疑似分散操作を試してみたい
を使用して Hadoop デーモンを起動しようとするとstart-all.sh
、foo-user のような非 root ユーザーを使用するか、root を使用する必要があります。
root を使用しても問題ありませんが、少し気になります。
root 以外のユーザー foo-user を使用すると、ファイルへのアクセス許可がないことを訴える
/var/run/hadoop/hadoop-foo-user-namenode.pid: permission denied
/var/run/hadoop/hadoop-foo-user-tasktracker-foohost.pid: permission denied
ディレクトリにこれら2つのファイルを作成しようとしていました/var/run/hadoop
しようvim /var/run/hadoop/testfile
としましたが、保存できませんでした。したがって、foo-user には書き込み権限がないことがわかります/var/run/hadoop
の許可を確認しました/var/run/hadoop
drwxrwxr-x root hadoop 4096 Feb 8 23:42 hadoop
foo-user はグループ hadoop に属しているため、への書き込み権限が必要/var/run/hadoop
です。実際、...jobtracker.pid のような他のいくつかの id ファイルがそこに作成されます。
では、ルートを使用する必要がありますか、start-all.sh
それとも許可に何か問題がありますか (私は本当に混乱しています)?