vROPs How to execute a command on multiple cluster nodes from Master

If you would like to run a command remotely from the master node on all/only data/only remote collector nodes here is how you can do this.

On the master create a SSH key.

localhost:~ # ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
ca:1a:a3:40:c1:5b:bb:e5:6f:b7:55:4c:bc:ce:b2:11 [MD5] root@localhost
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|.           .    |
| o .         o   |
|  + .       o .  |
| o . .  S  E +   |
|.   +. .    =    |
|.  .o.o    + o   |
| . . +.. .. +    |
|  . . ......     |
+--[MD5]----------+

Copy the public key to all nodes.

localhost:~ # ssh-copy-id -i /root/.ssh/id_rsa.pub root@DATA-NODE

Now you have to created 3 files containing the following hosts (FQDN or IP) in /root.

datanodes.lst – contains only the data nodes and the master itself
rcnodes.lst – contains only the RC nodes
allnodes.lst – contains all nodes including master

vi allnodes.lst
master.internal.xmsoft.de
node01.internal.xmsoft.de
node02.internal.xmsoft.de
node03.internal.xmsoft.de
rc01.internal.xmsoft.de

So if you would like to execute a command on all node you can run the following command.

for i in `cat /root/allnodes.lst`; do echo $i;ssh $i 'free -m'; done

Example:

localhost:~ # for i in `cat /root/allnodes.lst`; do echo $i;ssh $i 'free -m';echo ""; done
master.internal.xmsoft.de
             total       used       free     shared    buffers     cached
Mem:         48267      47812        454          0         38       9547
-/+ buffers/cache:      38226      10040
Swap:        23999          0      23999

node01.internal.xmsoft.de
             total       used       free     shared    buffers     cached
Mem:         48267      47680        587          0         52      10031
-/+ buffers/cache:      37595      10671
Swap:        23999          0      23999

node02.internal.xmsoft.de
             total       used       free     shared    buffers     cached
Mem:         48267      47122       1145          0         38       9009
-/+ buffers/cache:      38074      10192
Swap:        23999          0      23999
node03.internal.xmsoft.de
             total       used       free     shared    buffers     cached
Mem:         48267      47961        306          0         58      11403
-/+ buffers/cache:      36499      11768
Swap:        23999          0      23999

rc01.internal.xmsoft.de
             total       used       free     shared    buffers     cached
Mem:         48267      47983        283          0         67      12307
-/+ buffers/cache:      35608      12658
Swap:        23999          0      23999

You can replace “free -m” with any other linux command.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.