Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
English us

1. Prerequisites

1.1 Linux Server

CentOS 7 (EOL 2024-06-30), Ubuntu 16.04, 18.04, 20.04 LTS or Debian 11

Small

Medium

Heavy

CPU

8 Core

16 Core

32 Core

RAM

32 GB

64 GB

128 GB

DISK data (SSD/Nvme)

cf. data estimation

cf. data estimation

cf. data estimation

We recommend using different disk for the OS (~20 GB) and the application’s data.

1.2. Java

Choose either OpenJDK or Oracle (deprecated) Java Virtual Machine implementation

1.2.1. OpenJDK

CentOS 7

On the command line, type:

Code Block
languagebash
sudo yum install java-1.8.0-openjdk

You can check your current java installation by running the following command in a terminal :

Code Block
languagebash
java -version
Ubuntu Debian

On the command line, type:

Code Block
languagebash
sudo apt-get install openjdk-8-jdk

1.2.2. Oracle (deprecated)

Download and Install the Oracle JDK8u202  : jdk-8u202-linux-x64.tar.gz

https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html

In the download directory run:

Code Block
languagebash
sudo tar xzf jdk-8u202-linux-x64.tar.gz
sudo mv jdk1.8.0_202 /opt/
sudo update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_202/bin/java 2000000

1.3. DATAmaestro Java Archive

You will need the datamaestro-app-<version>-jar-with-dependencies.jar Java archive.

1.4. License

You will need a valid license file license.licto run DATAmaestro server.

1.5. Firewall For Redirection

You will need a firewall software with port redirection feature:.

shorewall : https://shorewall.org/ Shorewall documentation

firewalld : Firewalld documentation

In this guide we will use shorewall.

CentOS

Code Block
languagebash
sudo yum install shorewall

EPEL repository must be added : https://fedoraproject.org/wiki/EPEL

Ubuntu

Code Block
languagebash
sudo apt-get install shorewall

2. Installation

2.1. datamaestro set up

Create datamaestro-server user:

Code Block
languagebash
adduser datamaestro-server
# type a password

Move the Java archive to the user home directory:

Code Block
languagebash
mv datamaestro-app-jar-<version>-jar-with-dependencies.jar /home/datamaestro-server/

Add symlink to the java archive:

Code Block
ln -s datamaestro-app-jar-<version>-jar-with-dependencies.jar datamaestro.jar

Change owner of the Java archive:

Code Block
chown -R datamaestro-server:datamaestro-server /home/datamaestro-server/*


(OPTIONAL) Create a symlink .PEPITe to any location you want DATAmaestro installed to. 

Code Block
ln -s /data/pepite /home/datamaestro-server/.PEPITe


Start DATAmaestro server from the datamaestro-server home directory as datamaestro-server user

Code Block
sudo su datamaestro-server
java -jar datamaestro.jar

Then abort by pressing CTRL + C, ENTER. A directory .PEPITe should be created into the home directory of datamaestro-server.

Copy license.lic file to /home/datamaestro-server/.PEPITe/DATAmaestro/

Create a file named config and edit as follow :

Code Block
languagejson
{
	"rotateLog": 30,
	"serverPort": 8080,
	"securePort": 4443
}

(Change owner of license.lic and config files if they are not owned by datamaestro-server user)

An in-depth configuration document is accessible for a logged in user on the following URL : http://server-hostname/api/debug/help

2.2. datamaestro service

Create unit file in /etc/systemd/system/datamaestro.service with the following content:

Code Block
[Unit]
Description=DATAmaestro Service
After=network.target
 
[Service]
Type=simple
User=datamaestro-server
Group=datamaestro-server
WorkingDirectory=/home/datamaestro-server
ExecStart=/usr/bin/java -Xmx18000m -Xms18000m -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -server -jar /home/datamaestro-server/datamaestro.jar
 
Restart=on-failure
 
[Install]
WantedBy=multi-user.target

rem :

  • For -Xmx and -Xms use ~50% of the RAM, specified as megabyte

  • Do not wrap the ExecStart command into a start_datamaestro.sh

Enable and start service:

Code Block
languagebash
sudo systemctl enable datamaestro
sudo systemctl start datamaestro

2.3. Firewall Redirection

DATAmaestro is running under a non-root user. Port < 1024 can not be used by the Java process. We need to forward http(s) requests on port 80 to port 8080 and 443 to 4443.

2.3.1. Configure REDIRECT via shorewall

On Ubuntu, copy the examples files (CentOS already provide the files):

Code Block
languagebash
cd /usr/share/doc/shorewall/examples/one-interface/
cp zones interfaces policy rules /etc/shorewall/

Add theses lines to /etc/shorewall/interfaces :

Code Block
net eth0

(Replace eth0 by your interface name)

Add theses lines to /etc/shorewall/zones  :

Code Block
fw firewall
net ipv4

Add theses lines to /etc/shorewall/policy : 

Code Block
fw net ACCEPT
net all ACCEPT
all all REJECT

Add theses lines to /etc/shorewall/rules :

Code Block
ACCEPT net fw tcp 22
REDIRECT all 4443 tcp 443 - -
REDIRECT all 8080 tcp 80 - -

CentOS:

/etc/shorewall/shorewall.conf

Code Block
STARTUP_ENABLED=Yes

Ubuntu:

Edit /etc/default/shorewall and set 

Code Block
startup=1

Enable and start service 

Code Block
sudo systemctl enable shorewall
sudo systemctl start shorewall

3. Login


Open a browser with the URL http://<server-hostname> and the DATAmaestro login page should appears (via https, the browser will warn you that the website does use a self-signed certificate, you can ignore the warning).

Login via credentials admin/admin and change the admin password in User Administration (cf. User Administration ).

...