

圖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
