今天在配置hadoop到时候,发现无法修改hadoop-‐env.sh,即使使用命令:
也是无法修改。后来想想可能是我前面设置了hadoop文件目录权限到缘故,其命令:
因此使用查看文件权限命令:
查看hadoop-env.sh文件到权限,得到结果如下:
第一个"-"表示这是一个文件,后面9个字符"rw-rw-r--"
则是权限信息,3个字母一组,这三个字母分别是rwx,-表示没有此项权限,,第一组rw-
表示所有者的权限,第二组rw-
表示和所有者同一工作组group的用户的权限,第三组r--
表示和所有者不一个工作组的用户的权限;紧接着的1是连接数;2个hadoop分别是所有者和所有者所在工作组。
可以看到hadoop作为所有者的权限是rw-,可读可写不能执行;在hadoop工作组的其他用户的权限rw-,可读可写不能执行;其他工作组用户为r--,只读。
这也是为什么为使用管理员用户xuwei不能修改hadoop-env.sh文件到缘故了,因为xuwei用户没有在hadoop这个group里面。使用如下命令切换到hadoop用户。
切换到了hadoop用户下面使用
但是出现了" hadoop is not in the sudoers file"错误。
解决方法见上一篇博客
Ubuntu技巧之"xxx is not in the sudoers file"解决方法
在成功解决上述问题以后,使用命令:
这样就能对这个文件进行编辑和修改了。
到此问题解决。