Installation

Requirements

The installation of Fast2 requires a few environment specifications to run properly :

What Description
RAM 8GB+ We highly recommend having at least 8GB.

When switching to production environments, 16GB or 32GB will be required since more documents will be handled at once, and heavy tasks (e.g. conversion, extraction) might get short on resources.
Processor 8 CPUs Processor capabilities need to be aligned with migration requirements, such as data mapping, content conversion and heavy I/O.
Storage 128GB+ Although the contents dealt by Fast2 will be temporarily stored (and deleted afterwards if asked), the server needs enough storage for the files/contents alongside the database tracking all the migration information.
Java JDK8, JDK11
64-bit
Any provider will fit (Oracle, OpenJDK, etc). If you have multiple JDK/JRE already installed, specify the correct one in the ./config/env.properties file.

The ‘64-bit’ is important for broker-database communication and overall worker operations. However if some constraints incline you to use a 32-bit, consider dedicating a new worker.
OS Windows 7+, Linux All versions of Windows 7+ are supported.

All common distros of Linux are supported (Ubunto, RedHat, CentOS, etc)

Power architecture are supported as well (except the ones running in AIX), but only Java parts will work seamlessly whereas third-party software (e.g. imagemagick, libreoffice, etc) might not, as they have not all have been developed for such plateforms.



While setting up the production server for Fast2, make sure to scale the Fast2 machine accordingly. You may need to increase the allocated memory for both the broker and the background database. If you planned to deal with campaigns of a few millions of documents, setting 8GB of memory for the broker and 8GB for the database as well is a good starting point.


⚠️ Warning

Make sure to confirm the compatibility between the database and your environment :



Fast2 packages

The Fast2 distribution you need depends on your target environment. It exists three way to deploy a Fast2 :

  • On premise: regular package, as an all-in-one zip file
  • AWS: Standard AMIs
  • K8S: Docker Images

Each distribution ships the following

  • A broker with one embedded worker and a user interface
  • An additional worker with all tasks catalog
  • A template to create workers with custom tasks

Root folder anatomy

Root folder anatomy

Start Fast2 Broker

Once the regular Fast2 package is unzipped, Fast2 can be launched right away.

Whether Fast2 is launched from the batch file or as a service on your environment, the UI will be available at http://localhost:1789/.

By default, Fast2 Broker starts the database and an embedded Fast2 Worker.

All commands below are to be run under the Fast2 install path (where the Zip has been unzipped).

Start-up sequence

When Fast2 is started, either as a standalone application or a service, its different modules share a precisely defined roll-out schedule:

  • First, the broker and the database are started. The connection between these 2 components has to be effective, otherwise Fast2 will automatically shut down after a couple of attempts to reach the database;
  • The worker is then triggered, and has to register itself to the broker.
  • Finally, dashboards will be started if asked so, and if the binaries have been detected. This is the moment where Fast2 will try to reach a separate instance of dashboards if one is already running on the machine.

There is no direct connection between the broker and dashboards. The only exchange area is the database, as explained in the Architecture section.

From command line

Go into the Fast2 install folder, and run :

C:\path-to-fast2\> startup-broker.bat

Administrator rights might be required since Fast2 will handle some port communications.

To end the Fast2 process, just hit Ctrl+C in the command line the startup file opened.

The following Linux installation steps work for most of Unix-based sytems. The database cannot be started from root user, you will need to create a secondary user to start the database binary alongside your Fast2 process.

Once connected as the latter user, start the database via its binaries.

Then, since the database is started manually, disable the command triggering Fast2 to start the embedded database, from the config/application.properties file :

Database Code
Kibana broker.elasticsearch.embedded.enabled=false
OpenSearch dashboards broker.opensearch.embedded.enabled=false

You can now properly execute the following script:

$ ./startup-broker.sh

To quit the Fast2 process, just hit Ctrl+C in the command line the startup file opened.

As service

Go into the Fast2 installation folder, and open the Windows Command Prompt.

To install the service :

C:\path-to-fast2\service\windows> Fast2_broker_service.exe install

Your machine may prompt a message asking to download .NET components. Please click [OK] and proceed.

Once this command is complete, you should see in your services registory a newly installed Fast2 service. You can start/stop/restart it as any other service, or via the Command Prompt (just replace install in the previous command by start/stop/uninstall/restart/status).

The logs of the service will be available from the path-to-fast2\service\log folder.

There are several ways to create a service under linux distribution. We will do it through systemd. Its major benefit is that it has been the default init system for the majority of linux distributions (Ubuntu, Red Hat, Fedora…).

Create a user for Fast2

Since the embedded database cannot be started in sudo mode, an additional user needs to be created in the Linux machine so the broker will successfully initiate the database bootup.

Let’s condider here our user to be fast2user.

Head out to the ./startup-broker.sh and get the user start the broker by switching users (with su fast2user -c) for the Java command.

Change the follwing line :

"$JAVA" -Xmx$BROKER_MAX_MEMORY -Dlogging.config=config/logback-broker.xml -jar fast2-broker-package-X.Y.Z.jar

to this :

su fast2user -c "$JAVA -Xmx$BROKER_MAX_MEMORY -Dlogging.config=config/logback-broker.xml -jar fast2-broker-package-X.Y.Z.jar"
Execution path

Edit the ExectStart field from the file service/linux/fast2-broker.service by changing the PATH/TO/FAST2 portion: set it to Fast2 install path.

[Unit]
Description=Fast2 Broker

[Service]
ExecStart=/home/userName/fast2-complete-package-2.0.0/startup-broker.sh

[Install]
WantedBy=default.target

Now link it to the /etc/systemd/system directory through a symbolic link.

$ sudo ln -s SOURCE TARGET

$ sudo ln -s service/linux/fast2-broker.service /etc/systemd/system

If the links are broken once they’re created, you probably need to put an absolute path for the target as follow ;

$ sudo ln -s /home/userName/fast2-complete-package-2.0.0/service/linux/fast2-broker.service /etc/systemd/system

Next, reload systemd services unit and enable them :

$ systemctl daemon-reload
$ systemctl enable fast2-broker.service

The terminal should prompt the following message :

Created symlink from /etc/systemd/system/default.target.wants/fast2-broker.service to /etc/systemd/system/fast2-broker.service.
Script uses

Test your script by starting it and then checking the status :

$ service fast2-broker start

$ service fast2-broker status

OR

$ systemctl start fast2-broker.service

$ systemctl status fast2-broker.service

You can restart or stop the service at anytime with the commands :

$ service fast2 start | restart | stop | status

Start Fast2 Worker

The Broker starts an embedded worker by default. If you wish to start multiple workers, just hit :

C:\path-to-fast2\> startup-worker.bat
./startup-worker.sh

If the worker and broker are not booted up on the same machine, you need to setup the Broker host name in the worker configuration file. Edit the file config/application.properties and modify broker.host accordingly.

You can setup Fast2 Worker as a service the same way you did for the Fast2 Broker.