HDFS中将普通用户增加到超级用户组supergroup


 
图1为flume agent日志报错,图2为使用root用户列出flume的目录报错没权限
Permission denied :user=lume,access=WRITE.............
解决方法:
操作步骤如下:
 
1、在Linux执行如下命令增加supergroup
 
groupadd supergroup
 
2、如将用户yarn增加到supergroup中,再执行:
 
usermod -a -G supergroup flume
 
3、同步系统的权限信息到HDFS:
 
su - hdfs -s /bin/bash -c "hdfs dfsadmin -refreshUserToGroupsMappings"
 
4、验证
 
1) 将/user/flume目录的权限由700,修改为770
 
su - flume -s /bin/bash -c "hadoop fs -chmod 770 /user/flume"
 
2) 通过加到supergroup组中的flume用户去列这个目录:
 
su - flume -s /bin/bash -c "hadoop fs -ls /user/flume"
[root@cdh-1 ~]# su - flume -s /bin/bash -c "hadoop fs -ls /user/flume"
Found 1 items
drwxr-xr-x   - flume supergroup          0 2019-04-01 00:00 /user/flume/events
 
可成功列出目录即表示操作成功。
 
 
而后,我将root用户也加入了supergroup组中,可直接执行hdfs命令:
[root@cdh-1 ~]# hdfs dfs -ls hdfs:///user/hive
Found 1 items
drwxrwxrwt   - hive hive          0 2019-03-22 10:50 hdfs:///user/hive/warehouse

在测试环境中遇到时间戳的问题:
Expected timestamp in the Flume event headers, but it was null
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM