Installing Assets Server

Info: The described steps can only be performed on the on-premise version of Assets Server, not on the cloud version.

This article describes how to install and configure Assets Server on a system (referred to as a 'node') on which Assets Server is not yet installed.

The process can be summarized as follows:

Preparing your setup

Installing the Server

Basic Server configuration

Starting the Server

Activating licenses

Monitoring the status of the Server

Setting up the Assets Server environment

Testing the Server

1. Preparing your setup

Before starting with the actual installation it is important to have a plan of how your setup will look:

Will you run the full Assets Server environment on a single machine?

Will you spread the workload across multiple nodes in your cluster by setting up dedicated search nodes and processing nodes?

What hardware and operating systems will you need?

The answers to these questions will affect how you are going to set up each node in the cluster. The following sections will help you find answers to these questions.

Single-node or cluster-node setup?

Assets Server can take on the role of a search node, a processing node and/or a job runner node or any combination of these roles.

A typical production environment consists of a cluster of at least 3 nodes containing multiple search nodes, processing nodes and job runner nodes. This makes sure that redundancy is achieved: when one machine fails, the cluster itself still functions.

For demo purposes you would use a single machine (such as a laptop) with one Assets Server instance installed that takes on all 3 roles.

In this cluster, 1 Assets Server installation is used as a Search node while the load of processing files and generating previews is balanced over 2 separate Assets Server installations that act as Processing nodes.

Please note that the URLs that are generated by Assets Server are compliant with the URI syntax RFC 3986. Make sure that your network environment such as proxies, gateways and firewalls also support this standard so that the URLs can be successfully routed.

(MacOS) Setting the maximum file limit

The number of files that can be opened simultaneously on MacOS systems is set very conservatively, namely to 256 files. This could potentially lead to socket exceptions or a 'Too many open files' error message. It is recommended therefore to increase this limit.

Step 1. Verify the current file limit by entering the following command in the Terminal:

launchctl limit maxfiles

It will likely state the following, indicating that the default limit of 256 files is set:

Naming the cluster and its nodes

During the basic configuration of Assets Server you will have to define a name for the cluster and (optionally) a name for each node. Think of some descriptive names to use to easily identify the cluster and each node.

Note: For naming a node, Assets Server can also be configured to automatically set a random name or use the computer name.

2. Installing Assets Server

The installation of Assets Server as a Search node, a Processing node or a Job Runner node is identical and is done by using the same installer. Which role Assets Server should take is determined during the basic configuration steps.

When your setup includes a processing-only node, make sure that all nodes in the cluster are the same version of Assets Server.

This can occur on systems for which the Security & Privacy settings are set too strict. Access System Preferences > Security & Privacy and temporarily set the option 'Allow apps downloaded from' to 'Anywhere'.

Once the installation is complete, set it to the original setting again.

About setting the data locations

The Elvis Hot Data folder is a local data location used for storing the search index, server activation information, and active node-specific configuration.

Note: Each Elvis Hot Data folder is unique for a specific node and should not be shared between nodes.

If this line is present it means the /var/tmp folder will be cleaned every 30 days.

Step 3. Disable this line by adding # in front of the line or add the following line where x.x.x.x is the ip of the server and port is the port. The exact name can be found in the /var/tmp folder after the server was started for the first time:

3. Basic Server configuration

Note: This section describes the basic server configuration steps that are required to get Assets Server up and running. Additional configuration steps are described later.

How to configure your cluster and each node within the cluster depends on the choices you made in Preparing your setup. At this stage you should know:

How to name your cluster and each node within the cluster

How many nodes you will have in your cluster

Which nodes will take on the role of a Search node, a Processing node, a Job Runner node, or a combination of these roles

If your file store is on the same node on which Assets Server is installed or placed at a shared location

Basic configuration can be broken down into the following tasks:

Configuring the settings specific for the cluster

Configuring the settings specific for an individual node

Repeating the process on each node

1. Configuring the cluster settings

Note: The cluster-config.properties.txt file needs to be identical for all node configurations. After setting up the first node and configuring subsequent nodes, make sure that any changes to a cluster property are implemented in the cluster-config.properties file for all nodes. See also Changing the Assets Server configuration for a running cluster.

Step 1. Access the <Assets Server location>/Config folder on one of the nodes.

Step 2. Open the cluster-config.properties.txt file and set the following options:

cluster.nodeCount. Set this to the total number of nodes in your cluster.

Example: Here a setup of 5 nodes is used. Therefore "5" is entered:

cluster.NodeCount=5

cluster.searchNodeCount. Set this to the number of nodes in your cluster that act as a Search node.

Example: Here, 3 nodes will take on the role of Search node. Therefore "3" is entered:

cluster.searchNodeCount=3

Step 3. Save and close the file.

2. Configuring the node settings

Step 1. In the same folder as where you opened the cluster configuration file (<Assets Server location>/Config), open the node-config.properties.txt file and set the following options (listed in the order in which they appear in the file):

clusterName. Set this to a unique name for your cluster.

Example: clusterName=AssetsServerDemo

Note: This name needs to be the same on all the nodes.

nodeName. (Optional) By default, Assets Server generates a random name for the node. To use a more descriptive name, do one of the following:

Use the computer name by replacing the value with ${computerName}.

Enter a custom name.

Examples:

Here, a random name is generated:

nodeName=${randomHeroName}

Here the computer name is automatically used:

nodeName=${computerName}

Here a custom name is entered:

nodeName=ProcessingNode1

Define how Assets Server should run: as a Search node, a Processing node, a Job Runner node or any combination of these roles. Do this by setting the following options to true or false:

searchDataEnabled=true

processingEnabled=true

jobRunnerEnabled=true

When the sharedDataLocation is different on each node, make sure that the elasticsearch.backup.location (which references this location by default) is also configured correctly for the cluster. This can be done in the the cluster-config.properties.txt file.

fileStoreType. When the file store is configured on the same node on which Assets Server is installed, set this option to "local".

Note: This is typical when installing Assets Server on a laptop for demo purposes.

Example:fileStoreType=local

Step 2. Save and close the file.

4. Repeating the process

Now that the first node in the cluster has been installed and the basic configuration settings for it have been set, repeat all these steps on each of the other nodes.

To save you some time, run the installer on each node and replace the config folder by a copy of the config folder of the node that is already configured. This way, the cluster settings are already correctly set and you only have to modify the node settings where needed.

To summarize those settings:

File: node-config.properties.txt

Settings:

The clusterName should be the same for all nodes and therefore does not have to be changed here.

Example: clusterName=AssetsServerDemo

Set nodeName to the computer name, a custom name, or keep the default setting to have a random name generated.

Examples:

Here, a random name is generated:

nodeName=${randomHeroName}

Here the computer name is automatically used:

nodeName=${computerName}

Here a custom name is entered:

nodeName=ProcessingNode1

Define if Assets Server should run as a Search node, a Processing node, a Job Runner node or a combination of these roles:

searchDataEnabled=true

processingEnabled=true

jobRunnerEnabled=true

Set fileStoreType to local when the file store is configured on the same node on which Assets Server is installed.

Example:fileStoreType=local

Save and close the file.

4. Starting Assets Server

Once Assets Server is fully installed and configured, start Assets Server on each node on which it is installed.

8. Testing Assets Server

Verify that Assets Server is working properly by using the Assets. Perform tasks such as uploading some files, searching for them, downloading or sharing them, or any other tasks that are part of your daily workflow.