Comment implémenter du code Java en arrière-plan de Red Hat (Linux ONE)

introduction

S'il s'agit d'un processus comme le téléchargement d'un grand nombre d'images, il faudra des heures pour exécuter le code et cela peut interférer avec d'autres travaux. Cette fois, je décrirai comment implémenter du code Java en arrière-plan de Red Hat et effectuer d'autres travaux localement lors de l'exécution du code Java, veuillez donc vous y référer.

Construction du serveur

Pour la construction du serveur et la connexion au serveur, veuillez aller de l'URL suivante. Cette fois, créez un serveur RedHat avec LinuxONE et connectez-vous à RedHat avec TeraTerm. http://qiita.com/takana-at/items/e51a2e5fa858fbdee19f

Autoriser le déplacement des fichiers locaux sur le serveur

Puisque WinSCP est utilisé pour déplacer le fichier local sur le serveur RedHat et pour déplacer le fichier localement sur le serveur, créez l'environnement WinSCP.

Conversion de clé

  1. Installez PuttyGem. Veuillez vous référer à l'URL suivante pour la méthode d'enregistrement. https://webkaru.net/linux/putty-install/
  2. Créez un fichier .ppk. Sélectionnez Conversions → Importer la clé. linuxone2.png
  3. Spécifiez le fichier .pem créé lors de la création du serveur. putty_re2.png
  4. Entrez le mot de passe du fichier .pem. putty_re3.png
  5. Après l'importation, saisissez n'importe quelle "key_passphrase" et "Confirm_passphrase" et cliquez sur "save private key". putty3.png
  6. Lorsque l'écran de sauvegarde de fichier apparaît, entrez un nom arbitraire dans "Nom de fichier", spécifiez le format ".ppk" dans "Type de fichier" et cliquez sur le bouton "Enregistrer". putty4.png
  7. J'ai pu créer un fichier au format "ppk" à partir d'un fichier au format "pem". putty5.png

Installez winSCP

Veuillez vous référer à l'URL suivante pour la méthode d'enregistrement. http://www.media.hiroshima-u.ac.jp/services/web/winscp

Connectez-vous au serveur avec winSCP

  1. Démarrez winSCP.
  2. Spécifiez SFTP dans "Transfer Protocol", entrez l'adresse IP du serveur RedHat construit avec LinuxONE dans "Host Name" et entrez le nom d'utilisateur défini dans TeraTerm dans "User Name". winscp1.png
  3. Cliquez sur "Modifier" et spécifiez la clé privée. Cliquez sur "Définir". winscp2.png
  4. Cliquez sur "SSH" -> "Authentification", spécifiez le fichier converti au format ppk par puttyGen dans "Clé privée", et cliquez sur "OK". winscp3.png
  5. Cliquez sur Enregistrer> Connexion. winscp4.png
  6. Saisissez le mot de passe de la clé privée et cliquez sur le bouton "OK". winscp_ew1.png
  7. Ceci est l'écran lors de l'accès au serveur Red Hat avec winSCP. rewinscp1.png
  8. Lorsque vous pouvez accéder au serveur, l'écran suivant s'affiche. Le côté gauche est le répertoire local et le côté droit est le répertoire sur le serveur. winscp5.png

Préparation du code à exécuter

Compresser le projet d'exécution

  1. Ouvrez éclipse.
  2. Sélectionnez Fichier → Exporter. Sélectionnez Général → Fichier d'archive et cliquez sur Suivant. archive1.png
  3. Sélectionnez le projet à compresser, spécifiez le répertoire de création du fichier et le nom du fichier zip dans "Pour archiver le fichier", puis cliquez sur "Terminer". archive2.png
  4. Copiez le fichier zip sur le serveur. Vous pouvez copier le fichier zip à exécuter par glisser-déposer. winscp6.png

Préparez crawler.sh

  1. Créez un fichier crawler.sh. Créez un fichier "crawler.sh", en spécifiant le code du projet que vous souhaitez exécuter. Le code ci-dessous est un exemple de la manière de remplir le fichier crawler.sh, où "FILENAME" indique le fichier à exécuter et "\ $ 1 \ $ 2 \ $ 3" affiche les arguments.

crawler.exemple d'entrée sh


#!/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. Après l'enregistrement, copiez le fichier crawler.sh sur le serveur. winscp7.png

Vous êtes maintenant prêt à exécuter le code sur le serveur.

Construction de l'environnement d'exécution

Installez Java sur RedHat

  1. Lorsque vous êtes connecté à RedHat avec TeraTerm, installez la même version de Java que le code compressé. Veuillez noter que si la version Java est différente, "java.lang.UnsupportedClassVersionError" se produira.
 $sudo yum install java-1.8.0-ibm-devel

javav1.png
   2. Cliquez sur y lorsque vous êtes invité à confirmer l'installation. java4.png
Si la version Java installée et les mots «Terminé!» S'affichent, l'installation de Java est terminée.

Écran d'installation sur Red Hat

Écran d'installation lorsque vous êtes connecté à Red Hat avec TeraTerm.

 $sudo yum install screen

java9.png

Exécutez du code Java en arrière-plan de Red Hat

Écran d'exécution

Si vous exécutez la commande telle qu'elle est dans RedHat, elle ne peut pas être en cours d'exécution en arrière-plan, alors exécutez la commande à l'écran.

  1. Puisque l'écran sera exécuté, exécutez ce qui suit avec la commande.
 $screen

screen1.png
   2. Lorsque vous exécutez screnn, "screen 0" s'affiche en haut. screen2.png L'écran est maintenant en cours d'exécution.

Décompressez le fichier compressé

  1. Après avoir exécuté screen, vérifiez le répertoire actuel avec "ls". À ce stade, si le fichier zip copié sur le serveur n'existe pas auparavant, déplacez-vous vers le répertoire un niveau au-dessus du fichier zip copié sur le serveur. screen4_1.png
  2. Extrayez le fichier zip, exécutez donc le code suivant. Remplacez FILENAME par votre propre nom de fichier zip.
 $unzip FILENAME

screen5_1.png

Exécutez le fichier crawler.sh

  1. Exécutez le code suivant pour ajouter l'autorisation d'exécuter le fichier crawler.sh.
 $chmod +x crawler.sh

2. Exécutez le fichier crawler.sh. En exécutant crawler.sh, le fichier spécifié dans le fichier crawler.sh peut être exécuté par RedHat.

 $./crawler.sh

screen6.png
   3. Veuillez vous référer à l'URL suivante pour détacher et attacher. 3-1. Méthode de détachement http://qiita.com/takana-at/items/77120a75e155e180a5d4#%E3%83%87%E3%82%BF%E3%83%83%E3%83%81
3-2. Comment joindre 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

Comment implémenter du code Java en arrière-plan de Red Hat (Linux ONE)
Comment trouver le nombre optimal de clusters pour les k-moyennes
Comment exécuter du code TensorFlow 1.0 en 2.0
[Pour les débutants] Comment implémenter l'exemple de code O'reilly dans Google Colab
Comment déterminer l'existence d'un élément sélénium en Python
Comment connaître la structure interne d'un objet en Python
Comment changer la couleur du seul bouton pressé avec Tkinter
Comment vérifier la taille de la mémoire d'une variable en Python
J'ai écrit le code pour écrire le code Brainf * ck en python
Comment vérifier la taille de la mémoire d'un dictionnaire en Python
[TensorFlow 2] Comment vérifier le contenu de Tensor en mode graphique
Comment obtenir les coordonnées de sommet d'une entité dans ArcPy
Comment afficher les octets de la même manière en Java et Python
Comment vérifier la version de Django
Implémenter une partie du processus en C ++
Comment implémenter un sérialiseur imbriqué avec drf-flex-fields
Comment comparer si le contenu des objets dans scipy.sparse.csr_matrix est le même
Comment calculer la volatilité d'une marque
Comment utiliser la bibliothèque C en Python
Comment trouver la zone du diagramme de Boronoi
Comment implémenter la fonctionnalité de type helper Rails dans Django
Résumé de la façon d'importer des fichiers dans Python 3
Comment implémenter la mémoire partagée en Python (mmap.mmap)
Résumé de l'utilisation de MNIST avec Python
Comment implémenter un sélecteur de dégradé dans Houdini
Comment implémenter "named_scope" de RubyOnRails avec Django
Comment obtenir les fichiers dans le dossier [Python]
[Java] Comment basculer entre plusieurs versions de Java
Comment passer le résultat de l'exécution d'une commande shell dans une liste en Python
Comment sensibiliser VS Code à l'environnement venv et à ses avantages
Comment mentionner un groupe d'utilisateurs avec une notification de mou, comment vérifier l'ID d'un groupe d'utilisateurs
Comment identifier de manière unique la source d'accès dans la vue de classe générique Django
Obtenez le résultat du GeoCoding inversé en japonais à l'aide du SDK Java de GoogleMapsAPI.
Comment compter le nombre d'éléments dans Django et sortir dans le modèle
Un mémorandum expliquant comment exécuter la commande magique! Sudo dans Jupyter Notebook
Comment afficher dans toute la fenêtre lors de la définition de l'image d'arrière-plan avec tkinter
Comment trouver le coefficient de la courbe approximative passant par les sommets en Python
Comment changer l'apparence du champ de clé étrangère non sélectionné dans le formulaire modèle de Django
Comment rendre la largeur de police du notebook jupyter mis dans pyenv égale
Comment obtenir une liste de fichiers dans le même répertoire avec python
Comment installer le framework d'apprentissage en profondeur Tensorflow 1.0 dans l'environnement Windows Anaconda
L'arrière-plan des caractères de l'image texte est surexposé pour faciliter la lecture.
Comment récupérer la nième plus grande valeur en Python
Comment connaître le numéro de port du service xinetd
Comment obtenir le nom de la variable lui-même en python
Comment exécuter le module Ansible ajouté dans Ansible Tower
Comment mesurer le temps de traitement avec Python ou Java
Comment connaître le répertoire actuel en Python dans Blender
Comment identifier l'élément avec le plus petit nombre de caractères dans une liste Python?
La décision de scikit-learn Comment visualiser un modèle en bois
Résumé du début au chapitre 1 de l'introduction aux modèles de conception appris en langage Java
Comment démarrer du code écrit en Atom avec une seule commande sans démarrer Teminal
Comment afficher plusieurs images d'une galaxie en tuiles
Implémenter la solution de l'algèbre de Riccati en Python
Comment utiliser la clause exist dans l'ensemble de requêtes Django
Comment savoir quelle version de Java Maven utilise
[Blender] Comment définir dynamiquement les sélections EnumProperty