Optional configuration (AEN 4.1.2)#

These optional procedures may or may not be necessary, depending on how you want to set up your Anaconda Enterprise Notebooks Data Center.

These procedures assume that you have already performed the Install AEN Server, Install AEN Gateway and Install AEN Compute procedures.

Optional: Configure common AEN Compute options

To make any of the changes described below, please edit the following file: /opt/wakari/wakari-compute/etc/wakari/wk-compute-launcher-config.json

Then restart the AEN Compute service:

sudo service wakari-compute restart

Increase HTTP timeout between Gateway and Compute Nodes

NOTE: This setting works for HTTP timeout only, not HTTPS.

The default timeout is 600 seconds (10 minutes). To adjust this edit the httpTimeout key:

"httpTimeout": 600

Note: The httpTimeout must also be set on the Gateway with the same key at /opt/wakari/wakari-gateway/etc/wakari/wk-gateway-config.json

Change the project directory

NOTE: We recommend putting ``/opt/wakari`` and ``/projects`` on the same filesystem. If the project and conda env directories are on separate filesystems then more disk space will be required on compute nodes and performance will be worse.

To make aen-compute service use a different directory than /projects for storing the projects, modify /opt/wakari/wakari-compute/etc/wakari/wk-compute-launcher-config.json as follows:

"projectRoot" : "/nfs/storage/services/wakari/projects",

The directory /nfs/storage/services/wakari/projects specified as projectRoot must exist for this configuration to work.

Create groups with the same ID

Additionally, if the /projects folder resides on an NFSv3 volume and you have a setup with several compute nodes, AEN will create local users with a different uid on each node.

To make the AEN Compute service create groups with the same id, edit the configuration file referenced above so that it contains the key identicalGID and the value true as in the following example. If you don’t see the identicalGID key, add it, and notice that you must add a comma at the beginning of the line. If you add this line as the last key, remove any comma at the end of the line.

, "identicalGID": true

Use numeric usernames

To use numeric usernames, you must modify the configuration file referenced above so that it contains the key numericUsernames and the value true as in the following example. If you don’t see the numericUsernames key, add it, and notice that you must add a comma at the beginning of the line. If you add this line as the last key, remove any comma at the end of the line.

, "numericUsernames": true

Optional: Verify and tune search indexing

Verify that the AEN Compute node can communicate with the AEN Server. This is required for search indexing to work correctly.

curl -m 5 $AEN_SERVER > /dev/null

Ensure that there are sufficient inotify watches available for the number of subdirectories within the project root filesystem. Some Linux distributions default to a low number of watches, which may prevent the search indexer from monitoring project directories for changes.

cat /proc/sys/fs/inotify/max_user_watches

If necessary, this can be increased with the following command:

echo fs.inotify.max_user_watches=100000 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

Ensure that there are sufficient inotify user instances available, at least one per project.

cat /proc/sys/fs/inotify/max_user_instances

If necessary, this can be increased with the following command:

echo fs.inotify.max_user_instances=1000 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

Optional: Setting up a default project environment

Anaconda Enterprise Notebooks includes a full installation of the Anaconda python distribution, along with several additional packages, located in the root conda environment in the path /opt/wakari/anaconda. A copy of this environment is created for each new AEN Project.

To configure a different set of packages as the defaults, create a new conda environment in the directory /opt/wakari/anaconda/envs/default. For example, to do so using a python 3.4 base environment, run the following command:

sudo -u $AEN_SRVC_ACCT /opt/wakari/anaconda/bin/conda create -p /opt/wakari/anaconda/envs/default python=3.4

Then use conda to install any additional packages into the environment as needed. After creating the environment, clone it once to ensure that it works correctly:

sudo -u $AEN_SRVC_ACCT /opt/wakari/anaconda/bin/conda create -p /opt/wakari/testenv --clone /opt/wakari/anaconda/envs/default
sudo -u $AEN_SRVC_ACCT rm -rf /opt/wakari/testenv

The default project environment will be cloned into the project workspace the first time the project is started. To convert an existing project, run the following command to clone the environment, replacing /projects/owner/project/envs/<ENV_NAME> with the path to the new environment you would like to create within the project:

sudo -u $AEN_SRVC_ACCT /opt/wakari/anaconda/bin/conda create -n /projects/owner/project/envs/<ENV_NAME> --clone /opt/wakari/anaconda/envs/default

Then open the Compute Resource Config for the project and set the project environment path there.

Configure a remote Mongo database instance

Some AEN users set up a remote Mongo database instance for performance or resource reasons.

First stop the AEN Server, AEN Gateway and all AEN Compute Nodes:

sudo service wakari-server stop
sudo service wakari-gateway stop
sudo service wakari-compute stop

In order to configure a remote database to work with AEN-Server, edit /opt/wakari/wakari-server/etc/wakari/config.json, create a new key called MONGO_URL and add the database information. The final file should look like:

{
  "MONGO_URL": "mongodb://MONGO-USER:MONGO-PASSWORD@MONGO-URL:MONGO-PORT",
  "WAKARI_SERVER": "http://YOUR-IP",
  "USE_SES": false,
  "CDN": "http://YOUR-UP/static/",
  "ANON_USER": "anonymous"
}

The Configuration Files page has more information about these configuration keys.

You can migrate data from the former database into the new one. There is covered at the MongoDB documentation website. After migration you can restart the services with:

sudo service wakari-server start
sudo service wakari-gateway start
sudo service wakari-compute start

Optional: SELinux enforcing mode

In order to run SELinux in Enforcing mode, set ports with the semanage port command.

The semange command relies on policycoreutils-python. To install (if needed):

sudo yum -y install policycoreutils-python

Enable port 5000 for aen-server:

sudo semanage port -m -t http_port_t -p tcp 5000

The -m flag is for modifying an existing usage of a port. If you get an error Port tcp/5000 is not defined change the flag to -a to add the port.

Enable ports 9200 and 9300 for elasticsearch:

sudo semanage port -a -t http_port_t -p tcp 9200
sudo semanage port -a -t http_port_t -p tcp 9300

Please see the Administrative documentation for additional information.

Wrapping up

Congratulations! You now have a fully installed Anaconda Enterprise Notebooks!

Should you encounter any issues while installing AEN or have additional questions, please do not hesitate to contact your enterprise support representative.

Next steps

Depending on your Data Center setup, you may need to perform some of the additional procedures below:

Additional post-install information: