解決從本地檔案系統上傳到HDFS時的許可權問題

2021-07-05 12:31:14 字數 874 閱讀 2515

put: permission denied: user=root, access=write, inode="/user/shijin":hdfs:supergroup:drwxr-xr-x

表明:許可權不夠。這裡涉及到兩個方面的許可權。乙個是本地檔案系統中localfile 檔案的許可權,乙個是hdfs上 /user/***目錄的許可權。

先看看 /user/***目錄的許可權:drwxr-xr-x   - hdfs supergroup      表示它屬於hdfs使用者,組名為 supergroup

因此需要使用sudo -u hdfshadoop fs -put localfile /user/***   來指定使用 hdfs 使用者來執行上傳命令。參考

當高興地執行sudo -u hdfshadoop fs -put localfile /user/***  以為能成功上傳時,又報錯:

put: localfile   no such file or directory   說找不到本地檔案localfile,可是用 ls 明明 能看到 localfile ,後來在一篇文章(參考)中發現發來是lcoalfile的許可權問題。

因為我現在是使用hdfs使用者來執行命令。而hdfs使用者對 localfile 是沒有相關許可權的。此時,問題基本解決了,就是讓hdfs 使用者對 lcoalfile 有相關許可權,(注意目錄許可權該該目錄下檔案許可權的影響,參考:linux下檔案與目錄許可權關係

)一種簡單的解決方法。直接把需要上傳的檔案複製到/tmp目錄下。因為/tmp目錄的許可權為 rwxrwxrwx。然後執行:

sudo -u hdfshadoop fs -put localfile /user/***   上傳成功。

ecshop系統如何從本地上傳到空間

ecshop系統如何從本地上傳到空間 很多剛開始做ecshop的客戶,都是在本地搭建個環境,然後進行製作,完成後傳到空間,今天簡單說下ecshop系統如何從本地上傳到空間。1,上傳程式 2,匯入資料 最普通的是使用phpmyadmin,先在本地使用phpmyadmin匯出sql檔案,然後登陸空間資料...

將本地檔案上傳到Github

1 先進入專案資料夾 通過命令 git init 把這個目錄變成git可以管理的倉庫 git init2 把檔案新增到版本庫中,使用命令 git add 新增到暫存區裡面去,不要忘記後面的小數點 意為新增資料夾下的所有檔案 git add 3 用命令 git commit告訴git,把檔案提交到倉庫...

將本地檔案上傳到github

github不僅能儲存 實現多人合作 同時可以儲存本地檔案,實現共享,再也不用帶著電腦到處跑了,哈哈 總之,就是將本地檔案放到了網際網路上 將本地檔案上傳到github步驟 1 建立本地倉庫 執行 git init 開啟git bash,切換到需要上傳檔案的目錄下,執行上面的命令,就將該目錄變成了本...