Promote runs on a minimum of three dedicated nodes (i.e. servers), each with these requirements:
- Linux CentOS 7
- 16 GB RAM (minimum)
- 4 Cores (minimum)
- 100 GB available partition mounted on /var (A 100 GB root partition works if /var doesn't have a smaller, separate mount point.)
If using AWS, use an m4 instance type.
Promote also requires that you install these packages on each node:
For each node, make sure you open all ports to TCP connections. (This applies only to internal network access, not public IP addresses.) Open UDP ports 7946, 5002, and 4789 to internal traffic between Promote nodes.
All nodes need open outbound traffic so you can download packages and model requirements. Open ports 8000, 80, and 443 to all external TCP traffic. This allows Promote to process requests for predictions.
To avoid networking conflicts with Docker, make sure that none of the internal IP addresses of your nodes reside on any of these IP blocks:
If one of your nodes has an IP address that resides on one of those blocks, contact Alteryx support.
The Promote installation requires an SSH authentication key. If you don't have one, work through this section to set up a user with an authentication key.
You must open Port 22/TCP to install Promote; add or remove nodes; or upgrade. You may close Port 22 after you finish performing any of those operations.
If your local machine runs on Windows, download and use Bash (we recommend Git Bash). If your local machine runs on Mac OS or Linux, you can use Terminal.
Create an SSH key pair in the form of an id_rsa file (i.e., private SSH key) and an id_rsa.pub file (i.e., public SSH key):
When prompted for a save location, save to a known location. When prompted for a password, don't create one; leave the field blank.
Now that you've created an SSH key pair on your local machine, set up a user named "promote" on each of your nodes.
You can name the user anything you want. Simply replace the name "promote" anywhere it appears with a name of your choice.
Use your local machine to SSH onto each node:
- # Replace "ADMIN_USER" with the name of a user with admin privileges.
- # Replace "NODE_IP" with the IP address of the machine you want to connect to.
- ssh ADMIN_USER@NODE_IP
On each node, repeat these seven steps:
1. Create a user:
2. Create a password for the user:
3. Add the user to the wheel group:
4. Grant passwordless sudo privileges to the user:
- # WARNING: These commands affect your machine at a system level.
- echo 'promote ALL=(ALL) NOPASSWD: ALL' >> ./promote
- sudo chown root:root ./promote
- sudo mv ./promote /etc/sudoers.d/
5. Switch to the user:
6. Create a directory for your SSH key:
7. Create an empty file where you can store your SSH key:
Now that you've set up a user on each node, use your local machine to copy the SSH key from your local machine, then paste it in the empty authorized-keys file on each node. Use a text editor, such as vi, to access the authorized-keys file:
That command prompts you for the password that belongs to your promote user. Enter it to complete the secure copy protocol.
On each node, repeat these three steps:
1. Transfer ownership of the SSH folder to the user:
2. Allow the user to read, write, and execute in the SSH folder:
3. Allow the user to read and write to the empty authorized-keys file:
You should now have an SSH connection between your local machine and each node. Use this command to test your connection:
Your local machine should connect to the node without prompting you for a password.
If a password prompt does appear, try to specify where you saved the SSH key on the node:
Supported Web Browsers
You need to have one of these supported web browsers installed on your local machine to install and use Promote:
Promote runs on Microsoft Edge, but first you must use one of the browsers listed above to install Promote.