在HDP 3.1中使用HDFS NFS网关,并且看到通过NFS挂载访问的目录所具有的权限不同于创建它们的本地主机用户的权限(例如,通过“ hadoop fs -mkdir ...”命令)。例如
[etl@HW04 data]$ hadoop fs -ls /user Found 13 items
drwx------ - myuser hdfs 0 2019-07-19 13:53 /user/myuser
...
[etl@HW04 data]$
[etl@HW04 data]$
[etl@HW04 data]$ id uid=1026(myuser) gid=1026(myuser) groups=1026(myuser) context=system_u:system_r:unconfined_service_t:s0
[etl@HW04 data]$
[etl@HW04 data]$
[etl@HW04 data]$ pwd
/nfs_mount_path/etl/dept/data
[etl@HW04 data]$
[etl@HW04 data]$
[etl@HW04 data]$ ls -lh
total 3.0K
drwxr-xr-x. 2 882121447 882121447 64 Aug 2 15:34 error
drwxr-xr-x. 2 882121447 882121447 64 Aug 5 09:49 processed
drwxr-xr-x. 2 882121447 882121447 64 Aug 2 15:34 processing
drwxrwxr-x. 31 882121447 882121447 992 Aug 5 09:56 raw
drwxr-xr-x. 2 882121447 882121447 64 Aug 2 15:47 storage
[etl@HW04 data]$
[etl@HW04 data]$
[etl@HW04 data]$ hadoop fs -ls /etl/dept/data
Found 5 items
drwxr-xr-x - myuser myuser 0 2019-08-02 15:34 /etl/dept/data/error
drwxr-xr-x - myuser myuser 0 2019-08-05 09:49 /etl/dept/data/processed
drwxr-xr-x - myuser myuser 0 2019-08-02 15:34 /etl/dept/data/processing
drwxrwxr-x - myuser myuser 0 2019-08-05 09:56 /etl/dept/data/raw
drwxr-xr-x - myuser myuser 0 2019-08-02 15:47 /etl/dept/data/storage
因此请注意,用户存在于所使用的客户端节点(以及名称节点)上,并且在HDFS中具有主目录(并且我假设这是不安全集群上所需要的全部)基于Hortonworks的另一篇文章:http://community.hortonworks.com/answers/15434/view.html,并在群集名称节点上添加了用户)。但是,当通过NFS网关访问myuser拥有的目录时,结果权限与通过“ hadoop fs ...”命令访问时显示的权限不匹配,并且访问被拒绝。
看看nfs是如何安装在集群中的节点上的,
[root@HW01 ~]# clush -ab "mount | grep hdpnfs"
---------------
HW[02-04] (3)
---------------
HW02.co.local:/ on /hdpnfs type nfs (rw,relatime,sync,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,nolock,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=172.18.4.47,mountvers=3,mountport=4242,mountproto=tcp,local_lock=all,addr=172.18.4.47)
clush: HW[01,05] (2): exited with exit code 1
看着整个集群中发生的几个用户,他们的设置都像
[root@HW01 ~]# clush -ab "id myuser"
HW03: id: myuser: no such user
HW05: id: myuser: no such user
HW02: id: myuser: no such user
---------------
HW[01,04] (2)
---------------
uid=1025(myuser) gid=1025(myuser) groups=1025(myuser)
clush: HW[02-03,05] (3): exited with exit code 1
我在使用它的节点和群集名称节点(HW01)上都本地创建了用户。
一件事是,当跨节点查看hdfs
用户的ID时,我看到...
[root@HW01 ~]# clush -ab "id hdfs"
---------------
HW[01-04] (4)
---------------
uid=1017(hdfs) gid=1005(hadoop) groups=1005(hadoop),1003(hdfs)
---------------
HW05
---------------
uid=1021(hdfs) gid=1006(hadoop) groups=1006(hadoop),1004(hdfs)
IDK(是否正常),但看起来很奇怪。
这如何影响操作的一个示例是,我无法使用终端上的常规FS命令删除myuser创建的文件夹。甚至看到进一步的问题,即本地主机上甚至没有root能够删除这些NFS目录或文件。
任何人都可以解释这是什么吗?有任何调试建议或修复方法吗?