DataX向寫入到HDFS文件時報權限錯誤


一、概述

 使用DataX進行數據同步時,如果沒有開啟kerberos,需要配置hdfsUser,不然會報權限錯誤;錯誤信息如下

 

 二、錯誤分析

 查看DataX的HdfsWriter插件,發現它底層的實現邏輯是:如果沒有開啟kerberos,那么會使用hdfsUser用戶將數據寫入到HDFS中;如果hdfsUser用戶名為null,那么會使用同步機器的當前用戶將文件寫入到HDFS系統中;如果當前用戶沒有權限寫入,那么就會報錯。如果集群開啟了kerberos,那么使用kerberos協議和keytab用戶進行文件讀取。

 DataX實現邏輯如下:

 

 三、解決方案

1、當hadoop集群開啟kerberos時,需要將KerberosConfFilePath、KerberosPrincipal和KerberosKeytabFilePath都配置完整;hdfsUser可以不配置,即便是配置了底層也不會使用

2、當hadoop集群沒有開啟kerberos,需要配置hdfsUser,因為當進行文件讀取時會將該用戶加入到用戶組,使用該用戶進行文件讀寫操作;FileSystem原理如下

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM