SQWareProduction:cassandra:bin:sqwcas CentralisedNodetool.ksh

From Wiki_dbSQWare
Revision as of 21:10, 29 November 2020 by BatchUser (talk | contribs) (Updated by BatchUser)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Presentation

Script $gvsqw_CasBin/sqwcas_CentralisedNodetool.ksh :


Execute nodetool command on all selected nodes in parallel
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)



Online help

The online help is available for most scripts with the -h option.
Ex: $gvsqw_CasBin/sqwcas_CentralisedNodetool.ksh -h
Content of this assistance :

Sourcing sqwcas_Global.lib v2025.07 SQWareProduction for Cassandra (dbSQWare) ... 

Usage: sqwcas_CentralisedNodetool.ksh [-h] -I <CAS_SID> -C <command options> [+ options]

DESCRIPTION
   sqwcas_CentralisedNodetool.ksh Run 'nodetool' command on selected nodes
SUPPORT
   Cassandra supported versions: 2.0 <= v <= 4.0

PARAMETERS
     -I  instance       : Target instance.
     -C  command        : Options for the nodetool command (ex: 'version', 'compact keyspace column_family' or other).
OPTIONS
     -h                 : Display the full usage.
     -s                 : Display samples of usage.
     -S    scope        : 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).
     -AGR Nb_sec        : Nb of seconds between two runs (by default 1s).
     -AGE Nb_sec        : Nb of seconds between two checks of end (by default 5s).
     -FRT       code    : Force return code value on error.
     -AddMail   email   : Email address to add at 'demo-sqwarebox@dbsqware.com'.
     -Timeout Nb_sec    : Timeout kill of ssh session.
     -SendReport        : Send execution log report.
     -Dynamic           : Force dynamic discovery of nodes (by default, search in $gvsqw_RootCfg/.clucfg generated by sqwcas_GenNodesConf.ksh).
     -NoMail            : Deactivate sendmail on error demo-sqwarebox@dbsqware.com (by default, send on error).
     -Locale    locale  : Force Locale for help display (fr,en).
     -Exec              : Execute commands (by default, display generated commands).

Note:
To be sure the aid is accurate, refer directly to the online help script -h option.


Error management

Errors passing arguments

This type of message is generated:

Lack 'CAS_SID' parameter, Usage: sqwcas_CentralisedNodetool.ksh [-h] -I <instance> -C <command options> [+ options]
For full help : sqwcas_CentralisedNodetool.ksh -h

If you are connecting through a terminal, no mail will be sent and you will have more this kind of message:

Begining     : 2020-11-29 20:09:31
End          : 2020-11-29 20:09:31
Duration     : 00:00:00 

If you are not connected to a terminal, the error message appears and is sent by mail to the address contained in the variable $gvsqw_GlobalMail (See help customize this variable). The subject line will always start by "$gvsqw_MailMsg_cassandra : " (See help customize this variable).

Note:
Sending mail can be disabled by the option -NoMail for one execution.


Execution errors

Whether you are or not connected to a terminal, the error message appears and an email containing a summary of treatment errors is sent to the address contained in the variable $gvsqw_Mail_cassandra (See help customize this variable). The subject line will always start by "$gvsqw_MailMsg_cassandra : " (See help customize this variable).

Note:
Sending mail can be disabled by the option -NoMail for one execution.


Usage examples

Sourcing sqwcas_Global.lib v2025.07 SQWareProduction for Cassandra (dbSQWare) ... 

#Standard help for script sqwcas_CentralisedNodetool.ksh:

$gvsqw_CasBin/sqwcas_CentralisedNodetool.ksh -h
#Display online help for this script

$gvsqw_CasBin/sqwcas_CentralisedNodetool.ksh -Locale en -h
#Display online help for this script with forcing of the 'en' locale (by default locale managed by $gvsqw_Locale)

$gvsqw_CasBin/sqwcas_CentralisedNodetool.ksh -s
#Display usage examples for this script

$gvsqw_CasBin/sqwcas_CentralisedNodetool.ksh -I $CAS_SID -C <command options>
#Generate commands but don't execute them !

$gvsqw_CasBin/sqwcas_CentralisedNodetool.ksh -I $CAS_SID -C <command options> -Exec
#Execute nodetool command on all selected nodes in parallel (by default is local only)

$gvsqw_CasBin/sqwcas_CentralisedNodetool.ksh -I $CAS_SID -C 'version' -S <scope> -Exec
#Execute 'nodetool version' command on <scope> nodes of the cluster : All, LocalDC ...

$gvsqw_CasBin/sqwcas_CentralisedNodetool.ksh -I $CAS_SID -C <command options> -S All -Dist -Exec
#Execute 'nodetool version' command on <scope> nodes, with distant connection on non-local instance $XXX and for All nodes
#You need to register credentials to use for distant connection to the instance (user and so on) in file $gvsqw_DistPasswdFile

$gvsqw_CasBin/sqwcas_CentralisedNodetool.ksh -I $CAS_SID -C <command options> -Timeout -Exec
#Timeout in seconds for kill inactive ssh session (by default is 3600, manage by $gvsqw_TimeOut)

$gvsqw_CasBin/sqwcas_CentralisedNodetool.ksh -I $CAS_SID -C <command options> -Dynamic -Exec
#Force dynamic discovery of nodes (by default, search in \$gvsqw_RootCfg/$CAS_SID.clucfg)

$gvsqw_CasBin/sqwcas_CentralisedNodetool.ksh -I $CAS_SID -C <command options> -AGR 20 -Exec
#Set the waiting time in seconds between two command run, 20s here (by default is 10)

$gvsqw_CasBin/sqwcas_CentralisedNodetool.ksh -I $CAS_SID -C <command options> -AGE 40 -Exec
#Set the waiting time in seconds between two end checks, 40s here (by default is 30)

$gvsqw_CasBin/sqwcas_CentralisedNodetool.ksh -I $CAS_SID -C <command options> -AddMail 'mymail1@mydomaine.com,mymail2@mydomaine.com' -Exec
#Add the mail list to the default address managed by $gvsqw_GlobalMail (only this time), if needed separate by commas 

$gvsqw_CasBin/sqwcas_CentralisedNodetool.ksh -I $CAS_SID -C <command options> -SendReport -Exec
#Send the log by email at the end of the treatment even if there is no error (by default, send on error)

$gvsqw_CasBin/sqwcas_CentralisedNodetool.ksh -I $CAS_SID -C <command options> -NoMail -Exec
#Disables sending an email on error to $gvsqw_GlobalMail (by default, send on error)

$gvsqw_CasBin/sqwcas_CentralisedNodetool.ksh -I $CAS_SID -C <command options> -FRT <NumericValue> -Exec
#Force return code to '<NumericValue>' on error (if no error, "exit 0!")
#You can also force return code of this script on all your
#environnement if you set the variable: $gvsqw_ForcedReturnCodeScript_sqwcas_CentralisedNodetool=<NumericValue>
#in configuration file $gvsqw_CasBin/../etc_cust/sqwcas_GlobalVar.cfg
Note:
To be sure the examples are accurate, refer directly to the online help script -s option.