** Azure Batch ** est un service pratique qui vous permet d'exécuter des scripts et des applications arbitraires sur des machines virtuelles (VM) autoscalables. Les applications Java peuvent également être exécutées si la VM a une JVM (Java Virtual Machine) installée.
La documentation officielle a un démarrage rapide sur les applications .NET et Python, mais il n'y a actuellement pas de documentation Java, donc dans cet article, je voudrais résumer brièvement le flux d'exécution d'une application Java sur Azure Batch.
Le plan est conforme à l'article de démarrage rapide suivant, veuillez donc vous y référer également. Azure Quick Start: Exécuter le premier travail par lots dans le portail Azure-Azure Batch | Microsoft Docs
Créons maintenant les ressources liées au Batch (comptes, pools, travaux, tâches) dans l'ordre. Une explication approximative de chaque ressource est la suivante.
--Account: la ressource de niveau supérieur d'Azure Batch. --Pool: un ensemble de machines virtuelles qui sert de ressource informatique. Vous pouvez créer plusieurs pools dans un seul compte. --Job: ensemble de tâches qui sont les unités de calcul. Les jobs peuvent être associés à un ou plusieurs pools. Le groupe de tâches subordonné utilise le pool associé au travail en tant que ressource informatique. --Tâche: Une unité de calcul. Définit la commande d'exécution de l'application.
Tapez [Batch] dans la zone de recherche du portail Azure, et [Batch account] s'affichera comme candidat. Cliquez dessus.
Sur l'écran du nouveau compte Batch, entrez un nom de groupe de ressources ou un nom de compte. Vous pouvez associer un compte de stockage à votre compte Batch, cliquez donc sur le lien Sélectionner un compte de stockage.
Vous pouvez choisir de créer un compte de stockage existant ou d'en créer un nouveau. Ici, créez un nouveau compte de stockage. Sauf si vous êtes particulier à ce sujet, sélectionnez le stockage V2 recommandé (usage général v2). Définissez n'importe quel niveau de réplication en fonction de vos besoins (ici, nous choisissons le stockage local supérieur le moins cher).
Ces derniers paramètres sont facultatifs. S'il n'y a pas de problème, créez-le.
Cliquez sur [Ajouter] dans le menu de gauche [Pool] du compte Batch.
Puisque nous créons une VM (un ensemble de) ici, il y a beaucoup d'éléments de réglage. Tout d'abord, en tant qu'image, vous pouvez choisir différents types. Ici, les contenus suivants sont sélectionnés.
--Editeur: canonique --Offre: ubuntuserver
Les images sélectionnables sont résumées sous forme de tableau à la fin de cet article. [ANNEXE - Types d'images sélectionnables](https://qiita.com/nakazax/items/47daae65708bc3188cbf#appendix ---% E9% 81% B8% E6% 8A% 9E% E5% 8F% AF% E8% 83% BD% E3% 81% AA% E3% 82% A4% E3% 83% A1% E3% 83% BC% E3% 82% B8% E3% 81% AE% E7% A8% AE% E9% A1% 9E)
Consultez les documents suivants pour connaître les tailles de VM sélectionnables. Sélectionnez une taille de machine virtuelle de pool --Azure Batch | Microsoft Docs](https://docs.microsoft.com/en-us/azure/batch/batch-pool-vm-sizes)
Ici, la taille de VM par défaut de [Standard A1] est sélectionnée. Vous pouvez sélectionner un nombre fixe ou une mise à l'échelle automatique pour la mise à l'échelle, mais ici, il est défini sur [Fixe] afin qu'une machine virtuelle puisse être démarrée. Vous pouvez définir la commande à exécuter lorsque la machine virtuelle démarre dans la tâche de démarrage. Sélectionnez Activé.
(Lancer la tâche) Étant donné que la JVM n'est pas installée dans l'image Ubuntu 18.04-lts que vous avez sélectionnée précédemment, définissez la commande d'installation de la JVM ʻapt install -y openjdk-11-jdk` dans la ligne de commande de la tâche de démarrage. Modifiez également l'ID utilisateur en Pool autouser, Administrator. Le reste des paramètres est facultatif et si vous êtes satisfait, cliquez sur OK.
Vous pouvez définir divers autres paramètres tels que le réseau virtuel en ajoutant un pool, mais ici, réduisez-le et cliquez sur [OK].
Ceci termine la création du pool. Le nœud dédié est 0-> 1, ce qui signifie que la VM démarre. Lorsqu'il devient 1, le démarrage de la VM est terminé. Si ce n'est pas le cas, le nœud n'a pas pu démarrer. Il est possible que la tâche de démarrage ne soit pas définie correctement, examinons-la donc pour toute erreur.
Dans le menu de gauche de votre compte Batch, sous Jobs, cliquez sur Ajouter.
Sélectionnez un ID de travail et un pool associé, puis cliquez sur OK.
Vous pouvez faire un contrôle plus fin avec le mode et les paramètres détaillés, mais ici je ne montrerai la capture que comme référence sans la définir en particulier.
Afin de confirmer que Java est installé sans aucun problème, exécutez la commande de vérification de version Java en tant que tâche.
Cliquez sur le travail que vous avez créé précédemment.
Cliquez sur Ajouter une tâche.
Arbitraire & Entrez un ID de tâche unique dans le travail, entrez java --version
dans la ligne de commande et cliquez sur [Soumettre].
Ensuite, la tâche est envoyée à la file d'attente des travaux et effectue une transition d'état active → en cours d'exécution → terminée. L'exécution de la tâche doit être terminée en peu de temps car aucune autre tâche n'est en cours d'exécution. Cliquez sur la tâche que vous avez soumise pour voir les détails.
Si la tâche est terminée normalement, vous devriez voir le résultat de sortie "stderr.txt" à l'erreur standard et le résultat de sortie "stdout.txt" à la sortie standard. Cliquez sur stdout.txt.
Ce n'est pas grave si les informations de version de Java sont affichées comme indiqué ci-dessous. Les ressources liées à Batch sont maintenant prêtes à exécuter votre application Java.
À partir de là, nous allons commencer à exécuter l'application Java principale. La procédure consiste à télécharger le fichier JAR exécutable sur le compte de stockage, à télécharger le fichier JAR dans une tâche Batch et à l'exécuter.
Préparez un fichier JAR exécutable approprié. Ici, nous utiliserons le fichier JAR exécutable qui peut être généré en suivant les étapes de création d'un exemple d'application pour Spring Boot + Sprint Batch ci-dessous.
https://spring.io/guides/gs/batch-processing/
Créez un conteneur Blob approprié dans le compte de stockage associé à votre compte Batch et téléchargez le fichier JAR.
Ajoutez des tâches à partir de travaux dans votre compte Batch. Sur la ligne de commande, entrez la commande d'exécution JAR suivante. Cliquez sur Fichier de ressources pour les paramètres de téléchargement du fichier JAR.
java -jar batch-processing-0.0.1-SNAPSHOT.jar
Cliquez sur Sélectionner un BLOB de stockage sur l'écran des paramètres du fichier de ressources.
Cochez [Inclure SAS], entrez une valeur arbitraire pour [Date d'expiration](ici, la valeur par défaut est 7), puis cliquez sur [OK].
Spécifiez le fichier JAR que vous avez téléchargé et cliquez sur Sélectionner.
Cliquez sur Soumettre. Cela téléchargera le fichier JAR dans le répertoire de travail de la VM avant d'exécuter la ligne de commande définie dans la tâche.
Après l'envoi et l'exécution de la tâche, si l'état est terminé comme indiqué ci-dessous et que le résultat de sortie standard est envoyé vers stdout.txt, le processus se termine normalement.
C'est tout pour l'histoire principale.
Types d'images au 20 septembre 2020-Une liste d'articles disponibles sur le marché. Il ne s'agit que d'un instantané temporaire, veuillez donc consulter le portail Azure pour obtenir les dernières informations.
Émetteur | Offre | SKU |
---|---|---|
canonical | ubuntuserver | 16.04-lts |
canonical | ubuntuserver | 18.04-lts |
credativ | debian | 8 |
credativ | debian | 9 |
debian | debian-10 | 10 |
micrsoft-azure-batch | centos-container | 7-7 |
micrsoft-azure-batch | centos-container-rdma | 7-4 |
micrsoft-azure-batch | centos-container-rdma | 7-7 |
micrsoft-azure-batch | ubuntu-server-container | 16-04-lts |
micrsoft-azure-batch | ubuntu-server-container-rdma | 16-04-lts |
micrsoftwindowsserver | windowsserver | 2008-r2-sp1 |
micrsoftwindowsserver | windowsserver | 2008-r2-sp1-smalldisk |
micrsoftwindowsserver | windowsserver | 2012-datacenter |
micrsoftwindowsserver | windowsserver | 2012-datacenter-smalldisk |
micrsoftwindowsserver | windowsserver | 2012-r2-datacenter |
micrsoftwindowsserver | windowsserver | 2012-r2-datacenter-smalldisk |
micrsoftwindowsserver | windowsserver | 2016-datacenter |
micrsoftwindowsserver | windowsserver | 2016-datacenter-smalldisk |
micrsoftwindowsserver | windowsserver | 2016-datacenter-with-containers |
micrsoftwindowsserver | windowsserver | 2019-datacenter |
micrsoftwindowsserver | windowsserver | 2019-datacenter-core |
micrsoftwindowsserver | windowsserver | 2019-datacenter-core-smalldisk |
micrsoftwindowsserver | windowsserver | 2019-datacenter-core-with-containers |
micrsoftwindowsserver | windowsserver | 2019-datacenter-core-with-containers-smalldisk |
micrsoftwindowsserver | windowsserver | 2019-datacenter-smalldisk |
micrsoftwindowsserver | windowsserver | 2019-datacenter-with-containers |
micrsoftwindowsserver | windowsserver | 2019-datacenter-with-containers-smalldisk |
c'est tout.
Recommended Posts