DataX向寫入到HDFS檔案時報許可權錯誤

2022-06-17 06:18:11 字數 720 閱讀 5970

使用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原理如下

HDFS檔案寫入過程

目標 掌握hdfs寫入資料的詳細過程 詳細步驟解析 list itemclient發起檔案上傳請求,通過rpc與namenode建立通訊,namenode檢查目標檔案是否已存在,父目錄是否存在,返回是否可以上傳 client請求第乙個block該傳輸到哪些datanode伺服器上 client請求3...

HDFS檔案讀取和寫入

讀取檔案 一 讀取方式一 寫入哪個datanode是不確定的,主要尋找讀取速度較快的datanode 怎麼找到這種datanode,從以下幾個方面 是否有本機位置,本機架位置,本機房位置 依次重試讀取檔案,直到讀取檔案成功 二 讀取方式二 backupread 每次讀取時,client會並行試著讀取...

Datax從Hive中匯出資料寫入到MySQL

hive1.2.x 版本支援的資料型別已經很豐富了,但是datax目前還支援不了這麼多的資料型別,如果不注意的話,將會丟擲很多奇怪的問題 比如 髒資料 的問題。datax 內部型別 hive表 資料型別 long tinyint,smallint,int,bigint double float,do...