Déploiement de la console Saturn
Cette section présentera comment installer et déployer Saturn Console à partir de zéro.
1 Préparation avant le déploiement
1.1 Préparation du matériel
Au moins un serveur Linux, le nombre de serveurs dépend du cluster Saturn Console prévu et de la taille du cluster ZK.
1.2 Préparation du logiciel
JDK: 1.7+
ZooKeeper: 3.4.6+ (ZooKeeper 3.4.6 est recommandé ( lien de téléchargement sur le site officiel ), les versions supérieures ne sont pas vérifiées)
nodejs: 7.8.0+
2 Démarrez le déploiement
2.1 Installez ZooKeeper
Suivez la documentation officielle pour installer.
Pour un environnement de production, il est recommandé d'utiliser un cluster de 5 serveurs (1 Leader + 4 Follower).
Reportez-vous ici pour la configuration recommandée de ZooKeeper .
2.2 Installer MySQL
Actuellement, Saturn prend en charge 2 bases de données: MySQL et H2. H2 est principalement utilisé pour les tests et MySQL est recommandé pour les environnements de production. MySQL est principalement utilisé pour stocker la configuration des tâches et l'historique de configuration, la configuration du système et les informations d'espace de noms et de cluster zk, etc.
Concernant la version de MySQL, il n'y a aucune exigence.
Installez MySQL, suivez la documentation officielle de MySQL pour aucune instruction ici.
2.3 Préparation des données
L'opération suivante est pour MySQL, et une approche similaire peut être imitée pour H2.
2.3.1 Création de base de données
Le nom de la base de données peut être spécifié par vous-même. Voici un exemple:
CREATE DATABASE saturn CHARACTER SET utf8 COLLATE utf8_general_ci;
2.3.2 Création de schéma
Obtenez le dernier schema.sql à partir d' ici . Si vous souhaitez obtenir d'autres versions du schéma, vous pouvez les obtenir sur d'autres balises du code source.
Exécutez schema.sql.
2.4 Installer la console
2.4.1 Télécharger
Cliquez sur la dernière version de "Console Zip File" depuis https://github.com/vipshop/Saturn/releases , téléchargez saturn-console- {version} -exec.jar et placez-la dans un répertoire approprié.
Ce didacticiel utilise 3.x comme exemple.
2.4.2 Démarrer la console
nohup java -DSATURN_CONSOLE_DB_URL=jdbc:mysql://localhost:3306/saturn -DSATURN_CONSOLE_DB_USERNAME=your_username -DSATURN_CONSOLE_DB_PASSWORD=your_password -jar saturn-console-{
version}-exec.jar &
Visitez http: // {ip}: 9088 pour voir la console saturn. Où ip fait référence à l'adresse IP de la machine sur laquelle la console est installée.
Le journal sera généré dans le chemin /apps/logs/saturn_console/saturn.console.log
2.4.2.1 Recommandation des paramètres JVM
Notez que si vous démarrez la console dans un environnement de production, il est recommandé d'ajouter quelques paramètres de démarrage JVM:
JDK 1.7:
-Xmx2G -Xms2G -XX:PermSize=256m -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=75 -XX:+ExplicitGCInvokesConcurrent -Xloggc:${HOME}/gc_zk.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:ErrorFile=${HOME}/hs_err_%p.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${HOME}
JDK 1.8:
-Xmx2G -Xms2G -XX:MetaspaceSize=256m -MaxMetaspaceSize=512m -XX:+UseConcMarkSweepGC -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=75 -XX:+ExplicitGCInvokesConcurrent -Xloggc:${HOME}/gc_zk.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:ErrorFile=${HOME}/hs_err_%p.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${HOME}
2.4.2.2 Description des paramètres de démarrage
le nom du paramètre | S'il faut prendre en charge les variables d'environnement / les paramètres JVM | la description | Dois tu |
---|---|---|---|
VIP_SATURN_CONSOLE_CLUSTER | Tout soutien | ID du cluster de la console | N |
SATURN_CONSOLE_DB_URL | Tout soutien | URL de connexion à la base de données | ET |
SATURN_CONSOLE_DB_USERNAME | Tout soutien | Nom d'utilisateur DB | ET |
SATURN_CONSOLE_DB_PASSWORD | Tout soutien | mot de passe | ET |
saturn.console.log | Paramètres JVM (-D) | Répertoire des journaux. La valeur par défaut est / apps / logs / saturn_console | N |
VIP_SATURN_DASHBOARD_REFRESH_INTERVAL_MINUTE | Tout soutien | Fréquence d'actualisation de l'arrière-plan du tableau de bord, en minutes. La valeur par défaut est 1. | N |
port de serveur | Paramètres JVM (-D) | Port de démarrage, par défaut 9088 | N |
authentification.enabled | Paramètres JVM (-D) | Activer ou non l'authentification utilisateur. Le défaut est faux. Voir la section sur l'authentification et l'autorisation pour plus de détails | N |
autorisation.enabled.default | Paramètres JVM (-D) | Activer ou non l'authentification utilisateur par défaut. Le défaut est faux. Voir la section sur l'authentification et l'autorisation pour plus de détails | N |
VIP_SATURN_DASHBOARD_NOT_RUNNING_WARN_DELAY_MS_WHEN_JOB_RUNNING | Tout soutien | Délai d'alarme du travail non exécuté lorsque le travail est en cours d'exécution, en millisecondes. La valeur par défaut est de 2 heures. | N |
Utilisez votre navigateur pour visiter http: // localhost: 9088 pour voir votre console Saturn!
2.4.3 Créer un cluster ZK
L'exécuteur obtiendra les informations de travail du domaine correspondant à partir de ZK et rapportera l'état d'exécution du travail à ZK. Et une console (cluster) peut gérer plusieurs clusters ZK. Ce qui suit présente comment ajouter un cluster zk dans la console. Supposons que l'id du cluster zk que nous voulons ajouter est test.
2.4.3.1 Lier la console et le cluster zk dans la configuration système
Dans CONSOLE_ZK_CLUSTER_MAPPING sous "Configuration système", liez la console et le cluster zk, le format est {console_id}: {zk_cluster_id}. Si VIP_SATURN_CONSOLE_CLUSTER n'est pas spécifié pour le démarrage de la console, la valeur par défaut est utilisée.
2.4.3.2 Créer un cluster zk
Cliquez sur "Menu Centre d'enregistrement" et cliquez sur le bouton "Ajouter un cluster" dans le sous-menu "Gestion du cluster ZK". Entrez les informations ZK comme suit:
Après l'ajout, vous verrez zk en ligne.
Remarque: l'ID de cluster doit être en anglais, pas en chinois ou en symboles spéciaux
2.4.4 Créer un domaine
Le domaine est l'unité de gestion de plusieurs travaux. Le domaine est lié au cluster zk et les deux sont dans une relation plusieurs à un. Un domaine appartient à un seul cluster zk.
Sur la page "Gestion de domaine" du centre d'enregistrement, ajoutez un domaine (espace de noms) et liez-le au cluster zk.
Après avoir créé le domaine, le chapitre suivant vous expliquera comment créer un travail Java.
2.5 À propos du déploiement du cluster de la console
Afin d'atteindre la haute disponibilité de la console, nous espérons tous que la console se compose de plusieurs serveurs. Il suffit de spécifier le même VIP_SATURN_CONSOLE_CLUSTER dans les variables d'environnement de plusieurs serveurs différents. Quant à la valeur de VIP_SATURN_CONSOLE_CLUSTER, vous pouvez la spécifier vous-même, juste un identifiant de cluster.