1. Prerequisites
1.1 Linux Server
A CentOS 7 (or Ubuntu 16.04, 18.04, 20.04 LTS) server with administrative rights.
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:
sudo yum install java-1.8.0-openjdk
You can check your current java installation by running the following command in a terminal :
java -version
Ubuntu
On the command line, type:
sudo apt-get install openjdk-8-jdk
1.2.2. Oracle
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:
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.lic to run DATAmaestro server.
1.5. Firewall For Redirection
You will need a firewall with port redirection feature:
shorewall : https://shorewall.org/
CentOS
sudo yum install shorewall
EPEL repository must be added : https://fedoraproject.org/wiki/EPEL
Ubuntu
sudo apt-get install shorewall
2. Installation
2.1. datamaestro set up
Create datamaestro-server user:
adduser datamaestro-server # type a password
Move the Java archive to the user home directory:
mv datamaestro-app-jar-<version>-jar-with-dependencies.jar /home/datamaestro-server/
Add symlink to the java archive:
ln -s datamaestro-app-jar-<version>-jar-with-dependencies.jar datamaestro.jar
Change owner of the Java archive:
chown -R datamaestro-server:datamaestro-server /home/datamaestro-server/*
(OPTIONAL) Create a symlink .PEPITe to any location you want DATAmaestro installed to.
ln -s /data/pepite /home/datamaestro-server/.PEPITe
Start DATAmaestro server from the datamaestro-server home directory as datamaestro-server user
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 :
{ "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:
[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:
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):
cd /usr/share/doc/shorewall/examples/one-interface/ cp zones interfaces policy rules /etc/shorewall/
Add theses lines to /etc/shorewall/interfaces :
net eth0
(Replace eth0 by your interface name)
Add theses lines to /etc/shorewall/zones :
fw firewall net ipv4
Add theses lines to /etc/shorewall/policy :
fw net ACCEPT net all ACCEPT all all REJECT
Add theses lines to /etc/shorewall/rules :
ACCEPT net fw tcp 22 REDIRECT all 4443 tcp 443 - - REDIRECT all 8080 tcp 80 - -
CentOS:
/etc/shorewall/shorewall.conf
STARTUP_ENABLED=Yes
Ubuntu:
Edit /etc/default/shorewall and set
startup=1
Enable and start service
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 ).