將大檔案傳送到 AWS EC2 會很棒

將大檔案傳送到 AWS EC2 會很棒

背景:

一段時間以來,我一直在努力在 AWS EC2 上安裝 rstudio 伺服器(自 11 月以來)。這就像剝開洋蔥層一樣,總是另一個障礙。對於 Windows 用戶來說,他們自己發布的 AWS 文件非常糟糕。我已經成功創建了 rstudio 實例,但遇到了問題,我確信有簡單的答案,但我沒有運氣解決它們,並且我嘗試了很多方法。我只是想將文件上傳到 rstudio,讀取它並將其保存在某個地方。考慮先讀入文件,我遇到了以下問題。

讀入文件:

上傳按鈕不接受大檔案。對於小文件,這工作正常,但任何需要伺服器分析的內容都無法透過此按鈕工作。我還嘗試透過四種不同的瀏覽器來查看是否是瀏覽器問題,但事實並非如此。不過小檔案沒問題(例如 40kb)。

將文件放入保管箱然後與 rstudio 同步不起作用。對於小檔案(例如 200kb),同步效果很好,但 GB 檔案不會出現或損壞。

我嘗試透過 Putty 透過 Winscp 和 filezilla 進行連線。運行命令成功

sudo chown -R ubuntu /home/rstudio

sudo chmod -R 755 /home/rstudio

我可以上傳到 rstudio。不幸的是,在那之後我無法再存取這些實例。我可以透過 AWS 存取它們,但無法繞過 rstudio 登入畫面。我嘗試了很多次,重新啟動並在許多不同的實例上。我還聘請了一位自由工作者來幫助我,他運行了一些其他命令,我保留了這些命令的副本,以便以相同的方式訪問 rstudio。檔案可以成功上傳(雖然非常慢),但隨後透過瀏覽器登入實例的存取權限不再可用,因此它有效地刪除了我的實例(我可以啟動實例,只是無法啟動 rstudio)。

我也嘗試過 Putty 中的程式碼,例如

rsync -avz myHugeFile.csv [email protected]:

但可能是我不知道如何將 myHugeFile.csv 的位置放在我的電腦上(儘管我嘗試了很多東西),但它不起作用。

我已成功上傳到 AWS EC2 根驅動器上的 tmp 資料夾,然後可以使用 putty 來移動文件,但上傳 10GB 文件需要 36 小時。我認為這不正常。當檔案到達時,它們比原來小得多,並且已經損壞。

我在 rstudio 上使用 louis aslett 提供的 AMI,當我設定實例時,如果您在亞馬遜平台上的社群 AMI 下輸入 rstudio,就會取得該 AMI。

這不是實例大小的問題,因為有 244GB RAM 大型實例和大多數 120GB 實例。

如果可以將大檔案上傳到 dropbox 並使用 rstudio 伺服器來保存它們,那就太好了(目前只有小檔案同步)。或可以使用上傳按鈕。或者幾乎任何解決方案都會很棒。我創建了一個 S3 儲存桶,因為這樣可能更容易,我懷疑亞馬遜可能會限制透過其他路由上傳到 EC2 的能力。但這對我來說似乎很瘋狂。

如果您對使這些步驟中的任何一項發揮作用有任何想法,請告訴我。

答案1

好吧,我意識到這裡發生了什麼事。無論您的實例大小為何,AWS 的預設主目錄大小都小於 8-10GB。由於這是試圖上傳到家裡,所以沒有足夠的空間。一個有經驗的 Linux 用戶不會陷入這個陷阱,但希望任何其他遇到這個問題的 Windows 用戶都能看到這一點。如果您上傳到實例上的不同驅動器,則可以解決此問題。由於 Louis Aslett Rstudio AMI 是基於此 8-10GB 空間,因此您必須將工作目錄設定在主目錄之外。從 Rstudio 伺服器介面來看並不直觀。雖然這是一個高級論壇,而且這是一個菜鳥錯誤,但我希望沒有人刪除這個問題,因為我花了幾個月的時間在這個問題上,我認為其他人也會這樣做。如果有人有更好的方法來解決這個問題,請隨時添加:)

相關內容