Provides SSH access to multiple hosts at once.
hawq ssh -f <hostfile_hawqssh>) | (-h <hostname> [-h <hostname> ...] [-e] [-u <username>] [-v] [<bash_command>] hawq ssh [-? | --help] hawq ssh --version
hawq ssh utility allows you to run bash shell commands on multiple hosts at once using SSH (secure shell). You can execute a single command by specifying it on the command-line, or omit the command to enter into an interactive command-line session.
To specify the hosts involved in the SSH session, use the
-f option to specify a file containing a list of host names, or use the
-h option to name single host names on the command-line. At least one host name (
-h) or a host file (
-f) is required. Note that the current host is not included in the session by default — to include the local host, you must explicitly declare it in the list of hosts involved in the session.
hawq ssh, you must have a trusted host setup between the hosts involved in the SSH session. You can use the utility
hawq ssh-exkeys to update the known host files and exchange public keys between hosts if you have not done so already.
If you do not specify a command on the command-line,
hawq ssh will go into interactive mode. At the
hawq ssh command prompt (
=>), you can enter a command as you would in a regular bash terminal command-line, and the command will be executed on all hosts involved in the session. To end an interactive session, press
D on the keyboard or type
If a user name is not specified in the host file or via the
hawq ssh will execute commands as the currently logged in user. To determine the currently logged in user, do a
whoami command. By default,
hawq ssh goes to
$HOME of the session user on the remote hosts after login. To ensure commands are executed correctly on all remote hosts, you should always enter absolute paths.
-hoption multiple times to specify multiple host names.
hawq sshwill start an interactive session.
Start an interactive group SSH session with all hosts listed in the file
$ hawq ssh -f hostfile_hawqssh
hawq ssh interactive command prompt, run a shell command on all the hosts involved in this session.
=> ls -a /data/path-to-masterdd/*
Exit an interactive session:
=> exit => quit
Start a non-interactive group SSH session with the hosts named
sdw2 and pass a file containing several commands named
$ hawq ssh -h sdw1 -h sdw2 -v -e < command_file
Execute single commands in non-interactive mode on hosts
$ hawq ssh -h sdw2 -h localhost -v -e 'ls -a /data/primary/*' $ hawq ssh -h sdw2 -h localhost -v -e 'echo $GPHOME' $ hawq ssh -h sdw2 -h localhost -v -e 'ls -1 | wc -l'