图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