Es wäre großartig, eine große Datei an AWS EC2 zu senden

866
Joey

Hintergrund:

Ich habe seit geraumer Zeit (seit November) um die Installation eines Rstudio-Servers auf AWS EC2 gekämpft. Es war wie das Ablösen einer Zwiebelschicht, immer eine weitere Hürde. Für einen Windows-Benutzer ist die von AWS selbst erstellte Dokumentation für AWS schrecklich. Ich habe es geschafft, Rstudio-Instanzen zu erstellen, aber ich habe Probleme, auf die ich sicher bin, dass es einfache Antworten gibt, aber ich hatte kein Glück, sie auszuarbeiten und habe viele Dinge ausprobiert. Ich versuche nur, eine Datei in rstudio hochzuladen, sie zu lesen und irgendwo zu speichern. Wenn ich mir vorsieht, zuerst eine Datei einzulesen, hatte ich die folgenden Probleme.

Einlesen einer Datei:

Die Upload-Schaltfläche akzeptiert keine großen Dateien. Für kleine Dateien funktioniert dies gut, aber alles, was ein Server zur Analyse benötigt, funktioniert nicht über diese Schaltfläche. Ich habe auch über vier verschiedene Browser versucht zu sehen, ob es sich um ein Browserproblem handelt, das war es nicht. Kleine Dateien funktionierten jedoch problemlos (zB 40kb).

Das Einfügen von Dateien in Dropbox und das anschließende Synchronisieren mit rstudio funktionierte nicht. Bei kleinen Dateien (z. B. 200 KB) war die Synchronisierung in Ordnung, GB-Dateien wurden jedoch nicht angezeigt oder waren beschädigt.

Ich habe versucht, sowohl über Winscp als auch über Filezilla über Kitt eine Verbindung herzustellen. Dies war erfolgreich, die Befehle auszuführen

sudo chown -R ubuntu /home/rstudio  sudo chmod -R 755 /home/rstudio 

und ich könnte zu rstudio hochladen. Nach diesem Zeitpunkt konnte ich leider nicht mehr auf die Instanzen zugreifen. Ich konnte auf sie über AWS zugreifen, konnte dann aber nicht den Anmeldebildschirm von rstudio passieren. Ich habe dies viele Male versucht, neu gestartet und an vielen verschiedenen Instanzen. Ich stellte auch einen Freelancer an, der mir half, und er führte einige andere Befehle aus, von denen ich eine Kopie aufbewahrt habe, um auf dieselbe Weise auf rstudio zuzugreifen. Die Dateien konnten zwar erfolgreich hochgeladen werden (allerdings sehr langsam), aber der Zugriff auf die Instanz war dann nicht mehr über den Browser möglich. Daher wurden meine Instanzen effektiv entfernt (ich konnte die Instanzen starten, rstudio jedoch nicht starten).

Ich habe auch Code in Kitt wie versucht

rsync -avz myHugeFile.csv amazonusername@my.amazon.host.ip:

Es ist jedoch möglich, dass ich nicht wusste, wie ich den Speicherort von myHugeFile.csv auf meinem Computer ablegen soll (ich habe zwar viele Dinge ausprobiert), aber es funktionierte nicht.

Ich habe es geschafft, in einen tmp-Ordner auf dem AWs EC2-Root-Laufwerk hochzuladen und kann dann die Dateien mit Kitt verschieben, aber das Hochladen einer 10-GB-Datei hat 36 Stunden gedauert. Ich denke das ist nicht normal. Wenn die Dateien ankommen, sind sie viel kleiner als ursprünglich und sie waren beschädigt.

Ich verwende das AMI von louis aslett auf rstudio, das Sie erhalten, wenn Sie bei der Einrichtung meiner Instanz rstudio unter community AMIs auf der amazon-Plattform eingeben.

Es handelt sich nicht um ein Instanzproblem, da 244 GB große RAM-Instanzen und die 120 GB meistens vorhanden waren.

Wenn es möglich ist, große Dateien in Dropbox hochzuladen und sie seitdem mit rstudio Server zu haben, wäre das toll (im Moment nur kleine Dateien synchronisieren). Alternativ können Sie die Upload-Schaltfläche verwenden. Oder so ziemlich jede Lösung wäre fantastisch. Ich habe einen S3-Bucket erstellt, da es auf diese Weise möglicherweise einfacher ist. Ich vermute, dass Amazon die Fähigkeit zum Hochladen auf EC2 über andere Routen einschränkt. Aber das scheint mir verrückt zu sein.

Bitte lassen Sie mich wissen, wenn Sie irgendwelche Gedanken dazu haben, wie einer dieser Schritte funktioniert.

0
Einige gute Änderungen dort, danke Jake. Joey vor 8 Jahren 0
Läuft Ihre EC2-Instanz hinter einer ELB oder laden Sie direkt in diese Instanz hoch? Castaglia vor 8 Jahren 0
Hallo da ist ELB nicht nach bestem Wissen, aber ich schätze den Vorschlag. Joey vor 7 Jahren 0

1 Antwort auf die Frage

0
Joey

Ok, also wurde mir klar, was hier los war. Die Standardgröße des Basisverzeichnisses für AWS beträgt unabhängig von der Größe Ihrer Instanz weniger als 8 bis 10 GB. Da es sich um einen Upload nach Hause handelte, war nicht genügend Platz vorhanden. Ein erfahrener Linux-Benutzer wäre nicht in diese Falle geraten, aber hoffentlich werden andere Windows-Benutzer, die sich mit diesem Problem beschäftigen, die auf dieses Problem stoßen, dies feststellen. Wenn Sie die Instanz auf ein anderes Laufwerk hochladen, kann dies gelöst werden. Da sich das Louis Aslett Rstudio AMI in diesem Bereich von 8 bis 10 GB befindet, müssen Sie Ihr Arbeitsverzeichnis außerhalb dieses Home-Verzeichnisses setzen. Nicht intuitiv von der Rstudio-Serveroberfläche erkennbar. Während dies ein fortgeschrittenes Forum ist und dies ein Anfängerfehler ist, hoffe ich, dass niemand diese Frage löscht, da ich Monate damit verbracht habe und ich denke, dass dies auch jemand anderes tun wird.