Korrektur 4.4 und Nachträge zu Kapitel 6

This commit is contained in:
Felix Lohmeier 2017-01-03 16:06:05 +01:00
parent e465c8e126
commit 5c407d13b0
4 changed files with 78 additions and 31 deletions

View File

@ -223,6 +223,8 @@ Das Script benötigt für einen Komplettdurchlauf etwa 6 Stunden. Sie werden als
## Lösung
Wechseln Sie in das Verzeichnis download mit ```cd download```
(1) Prüfung Dateigrößen:
* a) alle: {%s%}du -a -h{%ends%}
* b) die kleinste(n): {%s%}ls -1 -s -S{%ends%}

View File

@ -18,7 +18,7 @@ Für die Installation von Docker auf der in Kapitel 3.1 eingerichteten VM kann d
Hier eine Minimalvariante:
1. Befehl ```sudo nano /etc/apt/sources.list.d/docker.list``` eingeben, folgenden Text einfügen ```deb https://apt.dockerproject.org/repo debian-jessie main``` und Datei mit ```STRG+X``` und ```Y``` speichern.
1. Befehl ```sudo nano /etc/apt/sources.list.d/docker.list``` eingeben, folgenden Text einfügen ```deb http://apt.dockerproject.org/repo debian-jessie main``` und Datei mit ```STRG+X``` und ```Y``` speichern.
2. Anschließend folgende Befehle in dieser Reihenfolge ausführen:

View File

@ -5,37 +5,65 @@
Docker bietet eine zentrale Plattform an, auf der Container zur Nachnutzung abgelegt weden können (vergleichbar mit einem App-Store). Wir nutzen das folgende Repository auf Docker Hub:
https://hub.docker.com/r/felixlohmeier/openrefine/
## Laden und Starten von OpenRefine
## Laden und Starten von OpenRefine (mit lokalem Arbeitsverzeichnis)
### Schritt 1: Ordner für OpenRefine im Homeverzeichnis erstellen:
* ```cd ~```
* ```mkdir refine```
### Schritt 2: Container mit OpenRefine herunterladen und starten
Einer der Vorteile von Docker ist, dass mit einem einzigen Befehl der Download und das Starten von Containern aus dem Docker Hub ermöglicht wird:
```
sudo docker run --rm -p 8888:3333 felixlohmeier/openrefine:2.6rc2
```
Anschließend im Browser (z.B. Firefox) auf dem lokalen Rechner OpenRefine aufrufen. OpenRefine ist unter der IP-Adresse des Webservers, gefolgt von Port 8888 erreichbar (Beispiel: http://192.168.1.1:8888).
Erläuterungen:
* Da der Container noch nicht lokal vorliegt, wird er automatisch von Docker Hub heruntergeladen (in Teilbestandteilen)
* ```felixlohmeier/openrefine:2.6rc2``` ist die Kennzeichnung des Images im Docker Hub
* ```--rm``` löscht den Container nach dem Beenden wieder, damit die Festplatte nicht zumüllt
* ```-p 8888:3333``` richtet ein sogenanntes Port Forwarding im Netzwerk ein. Port 8888 außen wird auf Port 3333 innen gemappt. Somit ist der Docker-Container über http://<ip-adresse>:8888 von außen erreichbar
* Bei dieser Variante werden Daten innerhalb des Containers gespeichert. Da wir das Kommando ```--rm``` verwenden, **werden die Daten nach Beenden ebenfalls gelöscht**. Wählen Sie daher zukünftig immer die untenstehende erweiterte Variante mit lokalem Arbeitsverzeichnis!
* Beenden von Docker im Terminal mit ```STRG+C```
## Laden und Starten von OpenRefine mit lokalem Arbeitsverzeichnis
1. Ordner im Homeverzeichnis erstellen:
```mkdir refine```
2. Docker starten mit zusätzlichen Parametern:
```
sudo docker run --rm -p 8888:3333 -v /home/stud/refine:/data felixlohmeier/openrefine:2.6rc2 -i 0.0.0.0 -m 3G -d /data
```
Erläuterungen:
* ```-v /home/stud/refine:/data``` definiert das lokale Arbeitsverzeichnis.
* ```stud``` durch eigenen Benutzernamen ersetzen
* Da der Container noch nicht lokal vorliegt, wird er automatisch von Docker Hub heruntergeladen (in Teilbestandteilen)
* ```felixlohmeier/openrefine:2.6rc2``` ist die Kennzeichnung des Images im Docker Hub
* ```--rm``` löscht den Container nach dem Beenden wieder, damit die Festplatte nicht zumüllt
* ```-p 8888:3333``` richtet ein sogenanntes Port Forwarding im Netzwerk ein. Port 8888 außen wird auf Port 3333 innen gemappt. Somit ist der Docker-Container über http://<ip-adresse>:8888 von außen erreichbar
* ```-v /home/stud/refine:/data``` definiert das oben erstellte Arbeitsverzeichnis und verbindet es mit dem internen Arbeitsverzeichnis /data im Container
* ```-i 0.0.0.0``` öffnet den Docker-Container für den Zugriff aus dem Netzwerk
* ```-m 3G``` erlaubt dem Docker-Container bis zu 3 GB Arbeitsspeicher zu verwenden
* ```-d /data``` definiert das Arbeitsterzeichnis im Docker-Container
* ```-m 3G``` erlaubt OpenRefine bis zu 3 GB Arbeitsspeicher zu verwenden
* ```-d /data``` definiert das interne Arbeitsverzeichnis von OpenRefine
**Achtung:**
Den Parameter ```-m 3G``` in diesem Befehl müssen Sie an den verfügbaren Arbeitsspeicher auf ihrer virtuellen Maschine anpassen.
* Freien Arbeitsspeicher mit ```free -m``` anzeigen und Wert in Zeile "-/+ buffers/cache" in Spalte "free" notieren.
* Zahl bei -m 3G im Startbefehl anpassen. Beispiel für 1 GB freien Arbeitsspeicher:
```
sudo docker run --rm -p 8888:3333 -v /home/stud/refine:/data felixlohmeier/openrefine:2.6rc2 -i 0.0.0.0 -m 1G -d /data
```
### Schritt 3: OpenRefine im Browser aufrufen
OpenRefine ist unter der IP-Adresse des Webservers, gefolgt von Port 8888 erreichbar (Beispiel: http://192.168.1.1:8888).
### Schritt 4: Container beenden und neu starten
OpenRefine ist nur solange verfügbar, wie der oben verwendete Befehl in der Kommandozeile läuft.
1. Beenden Sie OpenRefine mit ```STRG``` und ```C``` auf der Kommandozeile.
2. Prüfen Sie, ob OpenRefine jetzt noch im Browser (Beispiel: http://192.168.1.1:8888) erreichbar ist. Es sollte eine Fehlermeldung des Browsers erscheinen.
3. Starten Sie OpenRefine erneut, indem Sie auf der Kommandozeile mit der ```Pfeiltaste nach oben``` den vorigen Befehl auswählen und mit ```Enter``` ausführen.
4. Prüfen Sie, ob OpenRefine jetzt wieder verfügbar ist.
Auf der Kommandozeile können Sie übrigens mitverfolgen, wie der Browser und OpenRefine miteinander kommunizieren. Beim Aufruf von OpenRefine im Browser erscheinen beispielsweise die folgenden POST und GET Befehle in der Kommandozeile:
```
15:10:34.819 [ refine] POST /command/core/load-language (19332ms)
15:10:34.940 [ refine] POST /command/core/load-language (121ms)
15:10:35.223 [ refine] POST /command/core/get-importing-configuration (283ms)
15:10:35.509 [ refine] GET /command/core/get-all-project-metadata (286ms)
15:10:35.632 [ refine] GET /command/core/get-languages (123ms)
15:10:35.721 [ refine] GET /command/core/get-version (89ms)
```
Doch dazu später mehr.

View File

@ -2,13 +2,30 @@
## Aufgabe 1: Beispieldaten vom Webserver auf den lokalen Rechner laden
Die einfachste Möglichkeit, um Daten in OpenRefine zu laden, ist das Hochladen von Daten vom lokalen Rechner. Dazu müssen wir zunächst die Daten vom Webserver auf den lokalen Rechner übertragen. Laden Sie [WinSCP Portable](https://winscp.net/eng/download.php) und übertragen Sie zehn MARCXML-Dateien vom Server auf ihren lokalen Rechner.
Die einfachste Möglichkeit, um Daten in OpenRefine zu laden, ist das Hochladen von Daten vom lokalen Rechner. Dazu müssen wir zunächst die Daten vom Webserver auf den lokalen Rechner übertragen. Laden Sie ein SCP-Programm (z.B. [WinSCP Portable](https://winscp.net/eng/download.php) für Windows) und übertragen Sie zehn MARCXML-Dateien vom Server auf ihren lokalen Rechner.
## Lösung
## Lösung Variante 1: mit WinSCP (Windows)
* Download WinSCP Portable: {%s%}Datei https://winscp.net/download/WinSCP-5.9.2-Portable.zip herunterladen, das ZIP-Archiv öffnen und in einem beliebigen Verzeichnis (z.B. Desktop) entpacken. Anschließend die Datei WinSCP.exe starten.{%ends%}
* Mit dem Server verbinden: {%s%}Protokoll SCP auswählen, in das Feld "Host name" die IP-Adresse eingeben, Benutzername und Passwort eingeben und Login anklicken.{%ends%}
* Dateien übertragen: {%s%}Links das gewünschte Arbeitsverzeichnis (z.B. Desktop) auswählen, 10 MARCXML-Dateien per Drag & Drop von rechts nach Links schieben.{%ends%}
1. Download WinSCP Portable: {%s%}Datei https://winscp.net/download/WinSCP-5.9.2-Portable.zip herunterladen, das ZIP-Archiv öffnen und in einem beliebigen Verzeichnis (z.B. Desktop) entpacken. Anschließend die Datei WinSCP.exe starten.{%ends%}
2. Mit dem Server verbinden: {%s%}Protokoll SCP auswählen, in das Feld "Host name" die IP-Adresse eingeben, Benutzername und Passwort eingeben und Login anklicken.{%ends%}
3. Dateien übertragen: {%s%}Links das gewünschte Arbeitsverzeichnis (z.B. Desktop) auswählen, 10 MARCXML-Dateien per Drag & Drop von rechts nach Links schieben.{%ends%}
## Lösung Variante 2: mit SCP (Mac und Linux)
1. Auf Mac OS X und Linux ist ein Programm ```scp``` für die Kommandozeile in der Regel vorinstalliert.
2. Öffnen Sie ein [Terminal](http://www.maclife.de/tipps-tricks/software/os-x-das-terminal-fuer-einsteiger) auf ihrem Betriebssystem (nicht in der virtuellen Maschine)
3. Wechseln Sie in das Verzeichnis, in das Sie die Daten herunterladen wollen. Beispiel: ```cd ~/Downloads```
4. Download aller Dateien im Ordner ```download``` von der virtuellen Maschine:
```
scp stud@192.168.1.1:download/* .
```
Mit scp können übrigens auch Dateien hochgeladen werden. Beispiel für den Upload aller Dateien aus dem aktuellen Verzeichnis in den Ordner ```download``` der virtuellen Maschine:
```
scp . stud@192.168.1.1:download/
```
## Aufgabe 2: Daten konfigurieren und in ein neues Projekt laden