Hadoop

Hadoop 將數據移動到另一個使用者

  • January 30, 2013

我的 hdfs 中有幾百 GB 用於 userA(單節點配置)。我想將所有這些數據傳輸給 userB,這將更適合我正在設置的多節點配置。

我嘗試了以下但沒有成功:

  • hadoop fs -chown -R userB:hadoop PATH,當以 userB 身份登錄時,我看不到數據,儘管 userB 設置為 hdfs 所有者,但 userA 很好。
  • 以使用者 B 身份嘗試start-all.sh,需要更改一些訪問控制。同樣的事情我什麼也沒看到。
  • 試圖強制<name>hadoop.tmp.dir</name>使用者A
  • 試圖將hadoop-userAdir 重命名為hadoop-userB

列出目錄時我有以下內容

drwxr-xr-x - userB hadoop 0 2011-05-29 18:17 /user/userA/tmp

看起來數據仍歸使用者A所有。知道如何解決嗎?

添加 userB在組 hadoop 中(當然)。

要使其工作,您需要執行以下操作:

  • 確保 userB 可以寫入日誌目錄
  • 確保 userB 可以寫入 dfs/ 目錄
  • 確保 userB 對目錄具有讀取權限hadoop fs -chown userB:hadoop

數據將保留在 /user/userA/ ,因此您需要使用絕對路徑進行查詢

hadoop fs -ls /user/userA/<path>

使用相對路徑會將您指向不同的位置

hadoop fs -ls

嘗試設置讀取權限:

hadoop fs -chmod -R 644 PATH

引用自:https://serverfault.com/questions/275327