Set up Connectivity to User Interfaces

Describes how to use the start_analytics command to perform port forwarding required for SSH tunnels.

An SSH tunnel can be useful for connecting to a UI running on the interactive node from a different machine. One or more SSH tunnels can be set up from the host login node to the interactive node using the --ssh-tunnel option of the start_analytics command.

In the following instructions:
  • localPort is a port on the user’s machine that will be used to view the UI locally.
  • loginNodePort is the login node of the system.
  • UIport is the port on the interactive node that the web UI runs on.
  1. Log on to a login node.
  2. Log on to a login node.
    CS_Storm_Hostname is used as an example for the login node's name in the following example:
    $ ssh CS_Storm_Hostname
  3. Load the analytics module.
    $ module load analytics
  4. Allocate resources.
    Example for Slurm:
    $ salloc -N numberofNodes
    Example for PBS Pro:
    $ qsub -I -l nodes=numberofNodes
    $ module load analytics
    $ qsub -I -l nodes=numberofNodes
    $ module load analytics
    $ qsub -I -l nodes=numberofNodes
    $ module load analytics
    $ module load openmpi/gcc/64/3.0.0
    The path for loading the openMPI module depends on the system.
  5. Start up an analytics cluster with an SSH tunnel from the interactive node to the system's login node.
    Example for Slurm:
    $ start_analytics --ssh-tunnel loginNodePort:UIPort
    Example for PBS Pro:
    $ start_analytics --ssh-tunnel loginNodePort:UIPort --tunnel-host CS_STORM_HOSTNAME
    Multiple --ssh-tunnel options can be passed to the start_analytics command to start up more than one SSH tunnel. This mechanism can be used to launch TensorBoard and Jupyter Notebook simultaneously.
  6. Create an SSH tunnel from the localhost to the login node in a new terminal window.
    $ ssh -L localPort:localhost:loginNodePort hostname
    $ ssh -N -f -L localPort:localhost:loginNodePort CS_STORM_HOSTNAME
    Here, loginNodePort should match the login port specified in step 4. localPort is used to view the UI from the local machine. start_analytics runs on the hostname login node.