操作背景
cdh平台一般上使用root去安装平台,hadoop中权限是使用hdfs用户去操作的。所以常常会出现用户访问权限问题,如下图,权限没有配置好,即使使用root用户也会有权限问题。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZQp4c5gZ-1586510736131)(44A9CF2E0B514AA4AA07AB35C5CB5B23)]
尝试修改
添加cdp用户
useradd cdp -u 1001 -d /home/cdp/
把cdp用户添加到hadoop组,并设置密码
usermod -a -G hadoop cdp
passwd cdp
密码为cdp
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XtCoeJqq-1586510736132)(37700EF777AF478FBC2E02FE2A9BE792)]
修改sqoopimport目录的访问权限
sudo -u hdfs hdfs dfs -chmod 775 /sqoopimport/
$sudo -u hdfs hdfs dfs -chmod 775 /sqoopimport
[sudo] password for cdp:
cdp is not in the sudoers file. This incident will be reported.
添加cdp用户到sudoers中
sudo vim /etc/sudoers#将hadoop组加入到sudoer
在root ALL=(ALL) ALL后 hadoop ALL=(ALL) ALL
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g7luQuko-1586510736133)(ED703858F0914D38961BBA543C39EF32)]
使用cdp用户修改目录权限
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N7pdI4jp-1586510736133)(B1854AB8999B41AEB64A33142B3202BB)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VkCeW8Ly-1586510736134)(5FBBA96057D84414B951369E8D6649C0)]
所以权限还是不对
更换用户组
查看hdfs权限配置
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qrWDoz16-1586510736134)(2E62D3F951D641F5902A2AB7AF3238A2)]
在hdfs的超级用户hdfs的组是supergroup,所以尝试把用户添加到supergroup组中
## 在linux中添加supergroup组
groupadd supergroup
## 把cdp添加supergroup组中
usermod -a -G supergroup cdp
## 刷新用户信息到各个节点
su - hdfs -s /bin