So implementieren Sie Java-Code im Hintergrund von Red Hat (Linux ONE)

Einführung

Wenn es sich um einen Vorgang handelt, bei dem eine große Anzahl von Bildern hochgeladen wird, dauert die Ausführung des Codes Stunden und kann andere Arbeiten beeinträchtigen. Dieses Mal werde ich beschreiben, wie Java-Code im Hintergrund von RedHat implementiert und andere Arbeiten lokal ausgeführt werden, während Java-Code ausgeführt wird.

Serveraufbau

Informationen zum Serveraufbau und zur Anmeldung am Server finden Sie unter der folgenden URL. Erstellen Sie dieses Mal einen RedHat-Server mit LinuxONE und melden Sie sich mit TeraTerm bei RedHat an. http://qiita.com/takana-at/items/e51a2e5fa858fbdee19f

Ermöglichen das Verschieben lokaler Dateien auf dem Server

Da WinSCP zum Verschieben der lokalen Datei auf dem RedHat-Server und zum lokalen Verschieben der Datei auf dem Server verwendet wird, erstellen Sie die WinSCP-Umgebung.

Schlüsselkonvertierung

  1. Installieren Sie PuttyGem. Die Registrierungsmethode finden Sie unter der folgenden URL. https://webkaru.net/linux/putty-install/
  2. Erstellen Sie eine PPK-Datei. Wählen Sie Konvertierungen → Importschlüssel. linuxone2.png
  3. Geben Sie die PEM-Datei an, die beim Erstellen des Servers erstellt wurde. putty_re2.png
  4. Geben Sie das Passwort für die PEM-Datei ein. putty_re3.png
  5. Geben Sie nach dem Import eine beliebige "key_passphrase" und "Confirm_passphrase" ein und klicken Sie auf "save private key". putty3.png
  6. Wenn der Bildschirm zum Speichern von Dateien angezeigt wird, geben Sie unter "Dateiname" einen beliebigen Namen ein, geben Sie unter "Dateityp" das Format ".ppk" an und klicken Sie auf die Schaltfläche "Speichern". putty4.png
  7. Ich konnte eine Datei im "ppk" -Format aus einer Datei im "pem" -Format erstellen. putty5.png

Installieren Sie winSCP

Die Registrierungsmethode finden Sie unter der folgenden URL. http://www.media.hiroshima-u.ac.jp/services/web/winscp

Melden Sie sich mit winSCP beim Server an

  1. Starten Sie winSCP.
  2. Geben Sie unter "Übertragungsprotokoll" SFTP an, geben Sie unter "Hostname" die IP-Adresse des mit LinuxONE erstellten RedHat-Servers und unter "Benutzername" den in TeraTerm festgelegten Benutzernamen ein. winscp1.png
  3. Klicken Sie auf "Bearbeiten" und geben Sie den privaten Schlüssel an. Klicken Sie auf "Festlegen". winscp2.png
  4. Klicken Sie auf "SSH" -> "Authentifizierung", geben Sie die von puttyGen in das ppk-Format konvertierte Datei in "Privater Schlüssel" an und klicken Sie auf "OK". winscp3.png
  5. Klicken Sie auf Speichern> Anmelden. winscp4.png
  6. Geben Sie das Kennwort für den privaten Schlüssel ein und klicken Sie auf die Schaltfläche "OK". winscp_ew1.png
  7. Dies ist der Bildschirm, wenn Sie mit winSCP auf den Red Hat-Server zugreifen. rewinscp1.png
  8. Wenn Sie auf den Server zugreifen können, wird der folgende Bildschirm angezeigt. Die linke Seite ist das lokale Verzeichnis und die rechte Seite ist das Verzeichnis auf dem Server. winscp5.png

Vorbereiten des auszuführenden Codes

Komprimieren Sie das Ausführungsprojekt

  1. Öffnen Sie Eclipse.
  2. Wählen Sie Datei → Exportieren. Wählen Sie Allgemein → Archivdatei und klicken Sie auf Weiter. archive1.png
  3. Wählen Sie das zu komprimierende Projekt aus, geben Sie das Verzeichnis zum Erstellen der Datei und den Namen der Zip-Datei unter "Datei archivieren" an und klicken Sie auf "Fertig stellen". archive2.png
  4. Kopieren Sie die Zip-Datei auf den Server. Sie können die auszuführende Zip-Datei durch Ablegen und Ziehen kopieren. winscp6.png

Bereiten Sie crawler.sh vor

  1. Erstellen Sie eine crawler.sh-Datei. Erstellen Sie eine "crawler.sh" -Datei und geben Sie an, welchen Code in dem Projekt Sie ausführen möchten. Der folgende Code ist ein Beispiel für das Ausfüllen der Datei crawler.sh, wobei "FILENAME" die auszuführende Datei und "\ $ 1 \ $ 2 \ $ 3" die Argumente anzeigt.

crawler.Beispiel für einen Eintrag


#!/bin/sh

cd demoApp/target/classes

java -classpath .:../../lib/commons-codec-1.4.jar:../../lib/commons-httpclient-3.1.jar:../../lib/commons-logging-1.1.1.jar:../../lib/mysql-connector-java-5.1.21-bin.jar:../../lib/httpclient-4.5.1.jar:../../lib/httpclient-cache-4.5.1.jar:../../lib/javase-3.3.0.jar:../../lib/httpcore-4.4.3.jar:../../lib/httpmime-4.5.1.jar:../../lib/json-simple-1.1.1.jar FILENAME $1 $2 $3

cd ../../..

2. Kopieren Sie nach dem Speichern die Datei crawler.sh auf den Server. winscp7.png

Jetzt können Sie den Code auf dem Server ausführen.

Aufbau der Ausführungsumgebung

Installieren Sie Java auf Red Hat

  1. Installieren Sie, während Sie mit TeraTerm bei RedHat angemeldet sind, dieselbe Java-Version wie den komprimierten Code. Beachten Sie, dass bei einer anderen Java-Version "java.lang.UnsupportedClassVersionError" auftritt.
 $sudo yum install java-1.8.0-ibm-devel

javav1.png
   2. Klicken Sie auf y, wenn Sie aufgefordert werden, die Installation zu bestätigen. java4.png
Wenn die installierte Java-Version und die Wörter "Abgeschlossen!" Angezeigt werden, ist die Java-Installation abgeschlossen.

Installieren Sie den Bildschirm auf Red Hat

Installieren Sie den Bildschirm, während Sie mit TeraTerm bei Red Hat angemeldet sind.

 $sudo yum install screen

java9.png

Führen Sie Java-Code im Hintergrund von Red Hat aus

Bildschirm ausführen

Wenn Sie den Befehl wie in RedHat ausführen, kann er nicht im Hintergrund ausgeführt werden. Führen Sie den Befehl daher auf dem Bildschirm aus.

  1. Da der Bildschirm ausgeführt wird, führen Sie mit dem Befehl Folgendes aus.
 $screen

screen1.png
   2. Wenn Sie screnn ausführen, wird oben "Bildschirm 0" angezeigt. screen2.png Der Bildschirm läuft jetzt.

Dekomprimieren Sie die komprimierte Datei

  1. Überprüfen Sie nach dem Ausführen des Bildschirms das aktuelle Verzeichnis mit "ls". Wenn zu diesem Zeitpunkt die auf den Server kopierte Zip-Datei nicht früher vorhanden ist, wechseln Sie in das Verzeichnis eine Ebene über der auf den Server kopierten Zip-Datei. screen4_1.png
  2. Extrahieren Sie die Zip-Datei und führen Sie den folgenden Code aus. Ändern Sie FILENAME in Ihren eigenen Zip-Dateinamen.
 $unzip FILENAME

screen5_1.png

Führen Sie die Datei crawler.sh aus

  1. Führen Sie den folgenden Code aus, um die Berechtigung zum Ausführen der Datei crawler.sh hinzuzufügen.
 $chmod +x crawler.sh

2. Führen Sie die Datei crawler.sh aus. Durch Ausführen von crawler.sh kann die in der Datei crawler.sh angegebene Datei von RedHat ausgeführt werden.

 $./crawler.sh

screen6.png
   3. Informationen zum Trennen und Anhängen finden Sie unter der folgenden URL. 3-1. Methode zum Abnehmen http://qiita.com/takana-at/items/77120a75e155e180a5d4#%E3%83%87%E3%82%BF%E3%83%83%E3%83%81
3-2. Anbringen http://qiita.com/takana-at/items/77120a75e155e180a5d4#%E3%82%A2%E3%82%BF%E3%83%83%E3%83%81
   [link-detach]:http://qiita.com/takana-at/items/77120a75e155e180a5d4#%E3%83%87%E3%82%BF%E3%83%83%E3%83%81 [link-attach]:http://qiita.com/takana-at/items/77120a75e155e180a5d4#%E3%82%A2%E3%82%BF%E3%83%83%E3%83%81

Recommended Posts

So implementieren Sie Java-Code im Hintergrund von Red Hat (Linux ONE)
So finden Sie die optimale Anzahl von Clustern für k-means
So führen Sie TensorFlow 1.0-Code in 2.0 aus
[Für Anfänger] So implementieren Sie O'reilly-Beispielcode in Google Colab
So bestimmen Sie die Existenz eines Selenelements in Python
Wie Sie die interne Struktur eines Objekts in Python kennen
So ändern Sie die Farbe nur der mit Tkinter gedrückten Taste
So überprüfen Sie die Speichergröße einer Variablen in Python
Ich habe den Code geschrieben, um den Brainf * ck-Code in Python zu schreiben
So überprüfen Sie die Speichergröße eines Wörterbuchs in Python
[TensorFlow 2] So überprüfen Sie den Inhalt von Tensor im Diagrammmodus
So ermitteln Sie die Scheitelpunktkoordinaten eines Features in ArcPy
So zeigen Sie Bytes in Java und Python auf die gleiche Weise an
So überprüfen Sie die Version von Django
Implementieren Sie einen Teil des Prozesses in C ++
So implementieren Sie einen verschachtelten Serializer mit drf-flex-Feldern
So vergleichen Sie, ob der Inhalt der Objekte in scipy.sparse.csr_matrix identisch ist
So berechnen Sie die Volatilität einer Marke
Verwendung der C-Bibliothek in Python
So finden Sie den Bereich des Boronoi-Diagramms
So implementieren Sie Rails-Helfer-ähnliche Funktionen in Django
Zusammenfassung zum Importieren von Dateien in Python 3
So implementieren Sie Shared Memory in Python (mmap.mmap)
Zusammenfassung der Verwendung von MNIST mit Python
So implementieren Sie eine Verlaufsauswahl in Houdini
So implementieren Sie "named_scope" von RubyOnRails mit Django
So erhalten Sie die Dateien im Ordner [Python]
[Java] So wechseln Sie zwischen mehreren Java-Versionen
So übergeben Sie das Ergebnis der Ausführung eines Shell-Befehls in einer Liste in Python
So machen Sie VS Code auf die venv-Umgebung und ihre Vorteile aufmerksam
Wie man eine Benutzergruppe mit Slack-Benachrichtigung erwähnt, wie man die ID einer Benutzergruppe überprüft
So identifizieren Sie die Zugriffsquelle in der generischen Klassenansicht von Django eindeutig
Holen Sie sich das Ergebnis der umgekehrten GeoCoding auf Japanisch mit dem Java SDK von GoogleMapsAPI.
So zählen Sie die Anzahl der Elemente in Django und geben sie in die Vorlage aus
Ein Memorandum zur Ausführung des Befehls! Sudo magic in Jupyter Notebook
So zeigen Sie im gesamten Fenster an, wenn Sie das Hintergrundbild mit tkinter einstellen
So ermitteln Sie den Koeffizienten der ungefähren Kurve, die in Python durch die Scheitelpunkte verläuft
So ändern Sie das Erscheinungsbild nicht ausgewählter Fremdschlüsselfelder in Djangos Modellformular
So stellen Sie die Schriftbreite des in pyenv eingegebenen Jupyter-Notizbuchs gleich
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
So installieren Sie das Deep Learning Framework Tensorflow 1.0 in der Windows Anaconda-Umgebung
Der Hintergrund der Zeichen im Textbild ist überbelichtet, um das Lesen zu erleichtern.
So rufen Sie den n-ten größten Wert in Python ab
Wie man die Portnummer des xinetd-Dienstes kennt
So erhalten Sie den Variablennamen selbst in Python
Ausführen des in Ansible Tower hinzugefügten Ansible-Moduls
So messen Sie die Verarbeitungszeit mit Python oder Java
Wie Sie das aktuelle Verzeichnis in Python in Blender kennen
Wie identifiziere ich das Element mit der geringsten Anzahl von Zeichen in einer Python-Liste?
Die Entscheidung von scikit-learn Wie man ein Holzmodell visualisiert
Zusammenfassung von Anfang bis Kapitel 1 der Einführung in Entwurfsmuster, die in der Java-Sprache gelernt wurden
So starten Sie in Atom geschriebenen Code mit einem Befehl, ohne teminal zu starten
So zeigen Sie mehrere Bilder einer Galaxie in Kacheln an
Implementieren Sie die Lösung der Riccati-Algebra in Python
Verwendung der Exist-Klausel in Django Queryset
So finden Sie heraus, welche Version von Java Maven verwendet wird
[Blender] So legen Sie die Auswahlelemente von EnumProperty dynamisch fest