// Jupyter on ADAPT

Jupyter is now available on ADAPT. Project Jupyter products include Jupyter Notebook, Jupyter kernels, JupyterHub, and JupyterLab, the next generation version of Jupyter Notebook. This instructional gives an Overview describing JupyterHub, it’s configuration on ADAPT, and how to sign in and start up the Jupyter Hub server.

Instructional Videos



For more information on Anaconda environments, check out the “Anaconda on ADAPT” video.

For the full collection of NCCS Instructional videos, click here .

Connection


We currently have the following JupyterHubs deployed:

When attempting to connect to any of the above hubs, you may be prompted to submit a NAMS request. If so, you will have to create a NAMS request for 'NCCS Web Services'. Note that you will only be able to submit NAMS requests from the NASA network/VPN. Once you have submitted your request, please send a ticket to NCCS support and we will ensure that you have access to the JupyterHub.

Remember, you must be a user on these nodes in order to have access to the JupyterHub. We are working to provide broader access to the ADAPT user community, but if your group would like a JupyterHub for your ADAPT VMs not listed here, please send a request to support@nccs.nasa.gov.

Logging In


Once you have connected to one of the above hubs, you will need to log in with your NCCS LDAP username and password. If you have forgotten or need to reset your password, click here.

Session Allocation


Session allocation on JupyterHub is handled through the Slurm scheduler. While you do not need to know how to use Slurm to use JupyterHub, it is useful to know that your Jupyter user session will be effectively a Slurm job running on the backend compute associated with the hub. Once you have logged into one of the hubs, you will be presented with a drop-down menu to select a job profile. These options will provide different tiers of resources to be allocated to your session. Keep in mind that, if there aren’t resources available, you will not be able to get a session. If your use case seems to require a different job profile, please submit a ticket to NCCS Support by messaging support@nccs.nasa.gov.

Once you have an allocation, whatever you do inside of the session will be constrained to the resources allocated by Slurm. If you are running multiple notebooks, consoles, and/or terminals, they will be competing for your own resources. To see what is running in your session:

  • In JupyterLab, click the icon on the left hand side that looks like a circle with a square inside.
  • Or in the Classic Notebook, click the running tab on the top of your screen.

It is also important to understand how your session will (and will not) terminate. Regardless of whether you close your browser or not, or even log out, your session will persist, and your work will still run. The session will only terminate if you run out of time in your Slurm allocation or if you click “Stop My Server” on the Hub Control Panel. To access the hub control panel, in JupyterLab go to File > Hub Control Panel, or in the Classic Notebook go to the “Control Panel” button in the upper right hand corner of your window.

Using Jupyter Lab


Once you have logged in and been allocated resources for your session, you will be dropped by default into the JupyterLab IDE. For more information on JupyterLab usage check out documentation here.

Switching To Classic Notebooks


For users who would prefer using the Classic Notebook interface, simply go to the commands tab on the left hand side and go to Help > Launch Classic Notebook.

Accessing Files


When you look at the file tree in either interface, you will notice that the top level directory is your home directory. Due to limitations with Jupyter and the interaction with file permissions, you will have to use symlinks to access data in other locations. When you start your session, the ~/JupyterLinks directory will be automatically generated with a link to your $NOBACKUP and a link to any tutorial notebooks that the NCCS makes available.

Environments and Kernels


Kernels in JupyterNotebooks are effectively the same as Anaconda environments. You can use the terminal in Jupyter or an ssh connection to ADAPT to create, destroy, view, and modify environments. For personal environments that you would like to use as a kernel, you must first install ‘ipykernel’ in each environment:
conda activate <your_conda_env>
conda install ipykernel

Further Questions and Support


If you have any additional questions regarding JupyterHub access or usage, please submit a ticket to NCCS Support at support@nccs.nasa.gov.