我正在学习Hadoop,想试试伪分布式操作
当我尝试使用start-all.sh
启动 Hadoop 守护程序时,我应该使用非 root 用户,如 foo-user 还是使用 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
它试图在目录中创建这两个文件/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
. 实际上,那里还创建了其他几个 id 文件,例如 ...jobtracker.pid
那么我应该使用 rootstart-all.sh
还是权限有问题(我真的很困惑)?