我学习的Hadoop,并想尝试伪分布式运行HDFS root或者非root用户start-all.sh
当我尝试使用start-all.sh
启动Hadoop守护进程,我应该使用非root用户,如foo-user或使用root用户。
使用root没有问题,但是,我有点担心它。
使用非root用户,富用户,它抱怨没有权限的文件
/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
,并无法保存。所以事实证明,富用户没有权限写在/var/run/hadoop
我检查/var/run/hadoop
drwxrwxr-x root hadoop 4096 Feb 8 23:42 hadoop
foo的用户是组Hadoop的许可,所以应该有写权限/var/run/hadoop
。事实上,其他几家ID文件被创建有,像... jobtracker.pid
所以我应该用根start-all.sh
或有一些错误的许可(我真搞不清楚)?