SQWareProduction:cassandra
Presentation
Utilisation
C'est le module d'exploitation local de cassandra.
Il est entierement ecrit en ksh et sql.
Il permet les operations d'exploitation pour cassandra.
Exemples d'utilisations de l'outil:
- Backup
- Recovery
- Compute statistics
- Indicators collection to store in referential database SQWareRepository
- Rotate logs
- ....
This module is deployed locally on the machine hosting the authorities to manage,
in order to avoid any points of weakness related to an NFS mount or whatever.
The deployment is done through a simple command SQWareCentral module using inventory located in SQWareRepository !
Guide d'installation de SQWareProduction pour cassandra
Explication des repertoires
Repertoires se trouvant dans $gvsqw_CasBin:
- bin : Repertoires contenant standard scripts
- bin_cust : Repertoires contenant customs scripts for your environnement
- etc : Repertoires contenant the standard files of configuration
- etc_cust : Repertoires contenant the customs files of configuration for your environnement (overload standards)
- help : Repertoires contenant the standard files of help
- help_cust : Repertoires contenant the customs files of help for your environnement
- lib : Repertoires contenant the generic shell function librairies
- lib_cust : Repertoires contenant the generic shell function librairies (overload standards)
- spm : Contain sql query toolkit
- tools : Repertoires contenant the standard scripts used on an ad hoc
- tools_cust : Repertoires contenant the customs scripts used on an ad hoc for your environnement
- menu : Repertoires contenant the standard menus
- menu_cust : Repertoires contenant the custom menus for your environnement
Convention de nommage de fichiers
La majorite des fichiers sont nommes avec suffixes:
- *.ksh : pour les scripts
- *.cfg : pour les fichiers de configuration
- *.lib : pour les librairies de fonctions
- *.hlp : pour les fichiers d'aide
Convention de nommage dans les scripts
En général, la convention de nommage suivante est utilisée dans tous les scripts de SQWareProduction:
- gvsqw_ {}: variable globale initialisée par l'environnement et/ou la lib générique
- lvsqw_ {}: variable locale initialisée par le script et/ou une lib spécifique
- gfsqw_ {}: fonction définie par une lib générique
- lfsqw_ {}: fonction définie par le script et/ou une lib spécifique
bin
sqwcas_Backup.ksh
Script $gvsqw_CasBin/bin/sqwcas_Backup.ksh:
Execute une sauvegarde sur tous les nodes
- Etendue (Scope) d'excecution (par defaut: Local)
** Local => seulement le node local
** LocalNode => seulement le node local
** Node_$NodeName => seulement sur le node '$NodeName'
** LocalDC => tous les nodes sur local datacenter
** DC_$DCName => tous les nodes sur datacenter '$DCName'
** All => tous les nodes sur cluster(tous les datacenters)
** AllNodes => tous les nodes sur cluster(tous les datacenters)
** AllDC => tous les nodes sur cluster(tous les datacenters)
Voir l'aide detaillee pour sqwcas_Backup.ksh
sqwcas_CentralisedNodetool.ksh
Script $gvsqw_CasBin/bin/sqwcas_CentralisedNodetool.ksh:
Execute une commande nodetool sur tous les nodes selectionnes en parallele
Vous devez choisir les options de nodetool a executer
Vous pouvez aussi choisir:
- Aggressivite de lancement (nombre de secondes entre deux lancements)
- Aggressivite de check de fin (nombre de secondes entre deux check de fin)
- Scope d'execution (par defaut: Local)
** Local => seulement le node local
** LocalNode => seulement le node local
** Node_$NodeName => seulement sur le node '$NodeName'
** LocalDC => tous les nodes sur local datacenter
** DC_$DCName => tous les nodes sur datacenter '$DCName'
** All => tous les nodes sur cluster(tous les datacenters)
** AllNodes => tous les nodes sur cluster(tous les datacenters)
** AllDC => tous les nodes sur cluster(tous les datacenters)
- Force la decouverte dynamique des nodes (par defaut, cherche dans $gvsqw_RootCfg/CAS_CHR_PRD.clucfg genere par sqwcas_GenNodesConf.ksh)
Voir l'aide detaillee pour sqwcas_CentralisedNodetool.ksh
sqwcas_ExecSQL.ksh
Script $gvsqw_CasBin/bin/sqwcas_ExecSQL.ksh:
execute un fichier SQL sur l'instance
Voir l'aide detaillee pour sqwcas_ExecSQL.ksh
sqwcas_GatherIndicators.ksh
Script $gvsqw_CasBin/bin/sqwcas_GatherIndicators.ksh:
Collecte les indicateurs Cassandra et les met dans SQWareRepository
Resume de collecte:
- Volumetrie de l'instance
- Volumetrie des nodes
- Volumetrie des keyspaces (par node et global)
- Volumetrie des column familly (par node et global)
- Volumetrie (use, free) des FS
- Version, options, configuration, ... de l'instance
Voir l'aide detaillee pour sqwcas_GatherIndicators.ksh
sqwcas_NetBackup.ksh
Script $gvsqw_CasBin/bin/sqwcas_NetBackup.ksh:
backup avec NetBackup des fichiers dump/backup
Voir l'aide detaillee pour sqwcas_NetBackup.ksh
sqwcas_ParallelRun.ksh
Script $gvsqw_CasBin/bin/sqwcas_ParallelRun.ksh:
Gere l'execution de commandes unix en parallele
Prend en parametre un fichier avec les commandes a executer
Vous pouvez choisir:
- Le degre de parallelisme
- Aggressivite de lancement (nombre de secondes entre deux lancements)
- Aggressivite de check de fin (nombre de secondes entre deux check de fin)
Voir l'aide detaillee pour sqwcas_ParallelRun.ksh
sqwcas_RollingRestart.ksh
Script $gvsqw_CasBin/bin/sqwcas_RollingRestart.ksh:
Execute 'stop/start/restart' cassandra sur les nodes selectionne
You have to select le options of nodetool to execute
You can also choose:
- Aggressiveness of run (number of seconds between two runs)
- Aggressiveness of check end (number of seconds between two checks of end)
- Scope of the execution (by default: Local)
** Local => only on the local node
** LocalNode => only on the local node
** Node_$NodeName => only on the node '$NodeName'
** LocalDC => all nodes on the local datacenter
** DC_$DCName => all nodes on the datacenter '$DCName'
** All => all nodes on the cluster(all datacenters)
** AllNodes => all nodes on the cluster(all datacenters)
** AllDC => all nodes on the cluster(all datacenters)
- Force dynamic discovery of nodes (by default, search in $gvsqw_RootCfg/CAS_CHR_PRD.clucfg generated by sqwcas_GenNodesConf.ksh)
Voir l'aide detaillee pour sqwcas_RollingRestart.ksh
sqwcas_RunJob.ksh
Script $gvsqw_CasBin/bin/sqwcas_RunJob.ksh:
Execute les scripts pour Cassandra et genere les fichiers log et erreur
base sur le fichier de configuration $gvsqw_RootCfg/sqwcas_Jobs.cfg
compresse et purge les logs les plus anciennes
Voir l'aide detaillee pour sqwcas_RunJob.ksh
etc
sqwcas_CreInst_CrontabRef.cfg
Fichier de configuration $gvsqw_CasBin/../etc/sqwcas_CreInst_CrontabRef.cfg:
Voir l'aide detaillee pour sqwcas_CreInst_CrontabRef.cfg
sqwcas_CreInst_Jobs.cfg
Fichier de configuration $gvsqw_CasBin/../etc/sqwcas_CreInst_Jobs.cfg:
Voir l'aide detaillee pour sqwcas_CreInst_Jobs.cfg
sqwcas_GlobalVar.cfg
Fichier de configuration $gvsqw_CasBin/../etc/sqwcas_GlobalVar.cfg:
Global var for Cassandra
Contient les variables operationnelles de SQWareProduction.
Voir l'aide detaillee pour sqwcas_GlobalVar.cfg
.profile
Exemple de .profile $gvsqw_CasBin/../etc/.profile:
Exemple de lignes a ajouter au .profile pour les users cassandra.
Voir l'aide detaillee pour .profile
.profile_confort
Fichier pour mettre les aliases $gvsqw_CasBin/../etc/.profile_confort:
Contenu des aliases de confort de SQWareProduction pour cassandra.
Modèle:SQWareProductionSurchargeConfort
Voir l'aide detaillee pour .profile_confort
lib
sqwcas_Backup.lib
librairies de fonctions shell $gvsqw_CasBin/../lib/sqwcas_Backup.lib:
lib for sqwcas_Backup.ksh
Voir l'aide detaillee pour sqwcas_Backup.lib
sqwcas_CentralisedNodetool.lib
librairies de fonctions shell $gvsqw_CasBin/../lib/sqwcas_CentralisedNodetool.lib:
lib for sqwcas_CentralisedNodetool.ksh
Voir l'aide detaillee pour sqwcas_CentralisedNodetool.lib
sqwcas_GatherIndicators.lib
librairies de fonctions shell $gvsqw_CasBin/../lib/sqwcas_GatherIndicators.lib:
lib for sqwcas_GatherIndicators.ksh
Voir l'aide detaillee pour sqwcas_GatherIndicators.lib
sqwcas_GatherIndicators_Overload.lib
librairies de fonctions shell $gvsqw_CasBin/../lib/sqwcas_GatherIndicators_Overload.lib:
lib for overLoad sqwcas_GatherIndicators.ksh
Voir l'aide detaillee pour sqwcas_GatherIndicators_Overload.lib
sqwcas_GenerateCreateInstance.lib
librairies de fonctions shell $gvsqw_CasBin/../lib/sqwcas_GenerateCreateInstance.lib:
lib for generate create instance
Voir l'aide detaillee pour sqwcas_GenerateCreateInstance.lib
sqwcas_GenNodesConf.lib
librairies de fonctions shell $gvsqw_CasBin/../lib/sqwcas_GenNodesConf.lib:
lib for sqwcas_GenNodesConf.ksh
Voir l'aide detaillee pour sqwcas_GenNodesConf.lib
sqwcas_Global.lib
librairies de fonctions shell $gvsqw_CasBin/../lib/sqwcas_Global.lib:
central lib of generic fonctions for cassandra
Voir l'aide detaillee pour sqwcas_Global.lib
sqwcas_NetBackup.lib
librairies de fonctions shell $gvsqw_CasBin/../lib/sqwcas_NetBackup.lib:
lib for sqwgen_NetBackup.ksh
Voir l'aide detaillee pour sqwcas_NetBackup.lib
sqwcas_RollingRestart.lib
librairies de fonctions shell $gvsqw_CasBin/../lib/sqwcas_RollingRestart.lib:
lib for sqwcas_RollingRestart.ksh
Voir l'aide detaillee pour sqwcas_RollingRestart.lib
sqwcas_SetEnv.lib
librairies de fonctions shell $gvsqw_CasBin/../lib/sqwcas_SetEnv.lib:
fonction to set env for $CAS_SID
Voir l'aide detaillee pour sqwcas_SetEnv.lib
sqwcas_GenNodesConf.ksh
Menu $gvsqw_CasBin/../menu/sqwcas_GenNodesConf.ksh:
Generate conf files for all node in the cluster (nodes list by DC)
Voir l'aide detaillee pour sqwcas_GenNodesConf.ksh
tools
sqwcas_GenerateCreateInstance.ksh
Script $gvsqw_CasBin/../tools/sqwcas_GenerateCreateInstance.ksh:
Generate create instance files
Voir l'aide detaillee pour sqwcas_GenerateCreateInstance.ksh
sqwcas_SetEnv.ksh
Script $gvsqw_CasBin/../tools/sqwcas_SetEnv.ksh:
set env for $CAS_SID
Modèle:SQWareProductionSurchargeToo
Voir l'aide detaillee pour sqwcas_SetEnv.ksh
sqwcas_TestMySQL.ksh
Script $gvsqw_CasBin/../tools/sqwcas_TestMySQL.ksh:
Generic test MySQL connection script
Voir l'aide detaillee pour sqwcas_TestMySQL.ksh
sqwcas_TestSendmail.ksh
Script $gvsqw_CasBin/../tools/sqwcas_TestSendmail.ksh:
Generic test sendmail script
Voir l'aide detaillee pour sqwcas_TestSendmail.ksh
help
Contenu des fichiers d'aide pour l'option "-s" des scripts bin.
spm
Outil de requetes SQL
Voir l'aide detaillee pour spm