今天在使用flink自定義sink往hdfs中寫入資料時,程式執行失敗並報下面的錯,主要是因為沒有許可權寫入hdfs
org.apache.hadoop.security.accesscontrolexception: permission denied: user=administrator, access=write, inode="/flink/mysink001/2020-05-24--17
解決方法:
在 hdfs-site.xml配置檔案中新增下面引數然後重啟hadoop就好了:
dfs.permissions
false
HDFS的寫入過程
client發起檔案上傳請求,通過rpc與namenode建立通訊,namenode檢查目標檔案是否已經存在,父目錄是否存在,返回是否可以上傳。client請求第乙個block該傳輸到哪些datanode伺服器上 namenode根據配置檔案中指定的備份數量以及機架感知原理進行檔案分配,返回可用的d...
HDFS的讀取和寫入
1 客戶端將待寫入的檔案資訊上傳給namenode 2 namenode檢測要上傳的檔案 3 將是否可上傳的資訊返回給客戶端 4 client將待上傳的檔案進行切塊,然後上傳blk1 5 namenode根據集群中現存的快資訊和機架感知,選出可上傳的主機 假設時datanode1和datanode2...
HDFS寫入資料的流程
1 client發起檔案上傳請求,通過rpc與namenode建立通訊,namenode檢查目標檔案是否已存在,父目錄是否存在,返回是否可以上傳 2 client請求第乙個block該傳輸到哪些datanode伺服器上 4 client請求3臺datanode中的一台a上傳資料 本質上是乙個rpc呼...