由 hadoop fs -put localfile /user/xxx/ 想到的一些问题
我在Centos上使用Cloudera Manager 安装的CDH中的各种组件(Hive、HDFS……),然后在执行: hadoop fs -put localfiel /user/xxx 时提示权限出错:后来发现/user/xxx 目录的 superuser 为 hdfs 。参考于是使用 sudo -u hdfs hadoop fs -put localfile /user/xxx 时提示:put: `localfile': No such file or directory 但是目录下明明有localfile 这个文件。
后面Google发现,是因为 hdfs 用户没有访问本地localfile的权限。参考
那么问题来了:是不是安装了HDFS组件之后,是不是会在本地CentOs中添加了一个用户??
# cat /etc/passwd | grep hdfs
hdfs:x:494:490:Hadoop HDFS:/var/lib/hadoop-hdfs:/bin/bash
安装了Hive之后,会在本地CentOs中添加了一个Hive用户??
# cat /etc/passwd | grep hive
hive:x:485:481:Hive:/var/lib/hive:/bin/false
总之,一直有个疑问:即HDFS上的文件/目录 所属的用户(如 hdfs),用户组(supergroup) 与CentOs操作系统中/etc/passwd 文件中的那些用户名 有联系么??
求大神解答。感激不尽。
本帖最后由 hapjin 于 2015-9-29 17:01 编辑
sudo -u hdfs hadoop fs -put ./uploadToHDFS/oozie-examples.jar /user/xxx/
put: `./uploadToHDFS/oozie-examples.jar': No such file or directory
为什么还是不能往HDFS传东西???
# ll -d /home/cdhfive/uploadToHDFS/
drwxrwxr-x 2 hdfs hdfs 4096 Sep 29 16:33 /home/cdhfive/uploadToHDFS/
我uploadToHDFS目录的所属用户和属性组都已经是hdfs了。。。。
上传文件的问题已解决:uploadToHDFS目录是/home/cdhfive/的子目录。而hdfs 用户对 /home/cdhfive 没有wx 权限。故提示:put: `./uploadToHDFS/oozie-examples.jar': No such file or directory 错误。。
我把 oozie-examples.jar 复制到 /tmp目录下后,再用sudo -u hdfs hadoop fs -put ./uploadToHDFS/oozie-examples.jar /user/xxx/上传就成功了。
/tmp 目录对任何用户有rwx权限。。。。。
但我还是对本地hdfs用户和HDFS集群的supergroup 及 hdfs 用户有疑惑。请问大神有好的参考资料么???
本帖最后由 NEOGX 于 2015-9-29 20:42 编辑
hapjin 发表于 2015-9-29 16:49
sudo -u hdfs hadoop fs -put ./uploadToHDFS/oozie-examples.jar /user/xxx/
put: `./uploadToHDFS/oozie ...
这里面有一个默认路径的问题,写全路径,就不会出现这种问题了。
NEOGX 发表于 2015-9-29 20:40
这里面有一个默认路径的问题,写全路径,就不会出现这种问题了。
不是默认路径的问题。。。。是待上传文件所在的路径上目录的权限问题。
创建的系统用户,楼主在系统里能否查询到,系统里面应该有详细信息
Alkaloid0515 发表于 2015-9-30 08:30
创建的系统用户,楼主在系统里能否查询到,系统里面应该有详细信息
你说的系统用户是指 hive hdfs 等等之类的吗???
因为我在/etc/passwd文件里面发现了一些用户名: hive 和 hdfs ....这些应该是在我安装 CDH的时候(由CM在web界面安装 )添加进/etc/passwd里面去了的吧。
所以我就有疑问,,,,/etc/passwd里面原 hive hdfs 用户 与 HDFS集群上的 /user/hive /user/hdfs....这类用户名是不是一 一对应的
hapjin 发表于 2015-9-30 11:09
你说的系统用户是指 hive hdfs 等等之类的吗???
因为我在/etc/passwd文件里面发现了一些用户名: hiv ...
每一个文件夹比如hive,在安装的过程中会被授予hive权限。
hdfs是同样的道理。
应该是一 一对应的,总的来说,是权限管理。防止胡乱访问
页:
[1]