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.
Choose either OpenJDK or Oracle (deprecated) Java Virtual Machine implementation
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 |
On the command line, type:
sudo apt-get install openjdk-8-jdk |
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 |
You will need the datamaestro-app-<version>-jar-with-dependencies.jar Java archive.
You will need a valid license file license.lic to run DATAmaestro server.
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 |
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
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 |
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.
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 |
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 ).