ArcGIS Notebook Server supports multiple-machine sites starting at 10.7.1. In a multiple-machine site, each machine is configured the same, with identical Docker setups, and each can run ArcGIS Notebooks.
Legacy:
At the 10.7 release, only single-machine sites were supported.
Multiple-machine ArcGIS Notebook Server sites allow you to support more simultaneous notebook users. If you have many active users, or if your single machine's resources are inadequate for your users' needs, expanding to a multiple-machine site could be beneficial.
Note:
If you have a few notebook users who require more machine resources, you might evaluate modifying your site's resource limits as a limited alternative to adding machines.
All machines in an ArcGIS Notebook Server site have the same software installed, with the same version and the same license file. On the first machine you set up, you'll need to create the ArcGIS Notebook Server site. You can then join additional ArcGIS Notebook Server machines to the site.
Note:
Unlike other ArcGIS Server roles, ArcGIS Notebook Server does not support adding additional machines to a site from the first machine. You must access each machine in turn and join them to the site, using the ArcGIS Notebook Server configuration wizard or the joinsite utility.
Before you install
When you create a site, you determine where to store the configuration store, a directory hosting the critical files and configuration information for your site. Your site also has system and workspace server directories.
When you first create an ArcGIS Notebook Server site, you specify locations for the configuration store and server directories. In a multiple-machine site, you must share the configuration store and server directories so that the other machines can access them. Each machine that joins the site must be granted read and write permissions to these shared locations.
Install and configure a multiple-machine site
When you intend to set up a multiple-machine ArcGIS Notebook Server site, there are some additional steps to follow in this installation guide.
- Review the system requirements for ArcGIS Notebook Server to verify that each machine qualifies. On each machine, adjust the firewalls to open port 11443 for communication from each machine in your ArcGIS Enterprise deployment.
Make sure you install using the same operating system user on both machines. The user account used to install ArcGIS Notebook Server will be the account used to run the software. Group users and all others must have at least execute permissions to the ArcGIS Notebook Server installation directory. Note that installing ArcGIS Notebook Server with the root account is not supported. The user account used to install on two different machines, for example, could be as follows:
- Install ArcGIS Notebook Server on the first machine at /data/ags as user ags, with a user ID of 58103.
- Install ArcGIS Notebook Server on a second machine at /data/ags with the same user name and ID (ags, user ID 58103).
- Ensure that you have already done the following during the installation process to this point:
- Install Docker on each machine. On each machine, download the Docker images provided by Esri and save them to a location the system can access.
- Install and authorize ArcGIS Notebook Server on each machine. You can also silently install the software.
- Run the command line PostInstaller utility (located at <ArcGIS Notebook Server installation directory>/tools/postInstallUtility) to load the Docker images into the local repository on each machine.
- Follow the steps to configure ArcGIS Notebook Server after installation.
- Create and share two directories on your network, specifying the installation user as the owner. One should be for the configuration store and the other for your server directories. You must grant at least 700 permissions to the folders.For example:
Note:
Shared network directories that are hidden or use special characters (for example, $) are not supported by ArcGIS Notebook Server.
- Create a directory named config-store. Specify the owner as ags, with the user ID of 58103. Grant at least 700 permissions to the directory.
- Share the config-store folder so that both machines can access the directory using the same path, for example, /net/myserver/config-store.
- Create a directory named arcgisnotebookserver. Specify the owner as ags, with the user ID of 58103. Grant at least 700 permissions to the directory.
- Share the arcgisnotebookserver folder so that both machines can access the directory using the same path, for example, /net/myserver/arcgisnotebookserver.
Even if the directories reside on the same machine that you will use when creating the site, you must still manually create and share the directories and reference them through a network path.
- From one of your machines, create an ArcGIS Notebook Server site. Ensure you use the paths for your server directories and configuration store that you set up earlier.
- Once the previous steps have been completed, you can join each additional machine to the site you've created using a configuration wizard. If you prefer to join the site from the command line, see step 6.
- From the first additional machine, open the ArcGIS Notebook Server Configuration Wizard.
- Review and follow the instructions provided in the wizard, and then click Continue.
- Click Join Existing Site.
- Enter the site URL and credentials for your ArcGIS Notebook Server site as created in step 4.
- Repeat steps a through d for each additional machine you want to join to the site.
- As an alternative to using the configuration wizard, you can join the machine to the site using a command line utility as follows.
- Ensure you're logged in to the machine with the ArcGIS Notebook Server account.
- Open a command prompt and run the utility, which is located at <ArcGIS Notebook Server install directory>/tools/JoinSiteUtility/joinsite.sh. The following are the command line parameters for the utility:
Parameter Description -u or --username
The user name of the primary site administrator.
The user name cannot contain these characters: \/:*?|<>
-p or --password
The password for the primary site administrator.
The password cannot contain these characters: \/:*?|<>
-f or --file
The configuration store connection file for the joinsite utility.
-s or --siteUrl
The URL of the existing ArcGIS Notebook Server site to join, in the format https://notebookserver.domain.com:11443/arcgis/admin.
-h or --help
Displays command line help and exits.
An example command for the utility:
<ArcGIS Notebook Server install directory>/tools/JoinSiteUtility/joinsite.sh -u notebookPSA -p my.Password3 -s https://notebookserver.domain.com:11443/arcgis/admin
If the account credentials and site URL are entered correctly, the utility will join the machine to the ArcGIS Notebook Server site. Repeat this step for each additional machine.
Join a site from the command line
You can also use the joinSite command line utility to join your machine to an ArcGIS Notebook Server site. This utility requires that you specify the location of the configuration store of the existing site, rather than its URL. Because of this, the utility is advantageous for certain cases in which using the URL would clog up the network requests queue for the site. Consider using this utility if the machines in your ArcGIS Notebook Server site are already overloaded with network requests, or if you want to join a large number of machines to your site at one time.
The join-site utility is installed in \tools\JoinSiteUtility under the ArcGIS Notebook Server installation directory. Run the join-site utility from the ArcGIS Notebook Server machine you want to add to an existing site, using the Run As account for the ArcGIS Notebook Server.
- Grant read and write access on the configuration store folder of teh existing site to the network account used to run the ArcGIS Notebook Server service on the machine or machines you want to join to the site.
- Create a JavaScript Object Notation (JSON) file named connection.json.
- Add the following line to the file, replacing <path to the configuration store> with the configuration store location of the existing ArcGIS Server site:
{"configPersistenceType": "FILESYSTEM", "connectionString": "<path to the configuration store>"}
In this example, the path to the configuration store of the existing site is /net/mymachine/data/arcgisnotebookserver/usr/config-store:
{"connectionString": "/net/mymachine/data/arcgisnotebookserver/usr/config-store", " configPersistenceType": "FILESYSTEM" }
- Save and close the connection.json file.
- Place the connection.json file on the machine that will join the site or on a shared directory that you can access from the machine that will join the site.
- Open a command prompt and run join-site.
The machine is joined to the ArcGIS Notebook Server site.