Pilot Projects

Installation of DHuS from shar file distribution using Docker (DHuS v.2.0.0)

Short guide for installing and executing the DHuS shar distribution, using the Docker S/W.

1. Prerequisites

The following are the prerequisites for the Unix system where the DHuS will be installed:

• Connection to Internet;

•Docker S/W already installed. Please refer to the official Docker documentation at https://docs.docker.com/ for the Docker installation requisites and installation instructions for the different Operating Systems.

•Creation of user and group “dhus” with UID 10125 and GID 10125. If a user/group dhus is already existing on the host with different UID/GID, another name can be used. The user must be also added to the group docker (created as part of the docker s/w installation).

2. DHuS build and execution

Using the dhus account (or the other name assigned to UID 10125):

• In a directory of your choice, create the directories for building the application Docker_Dhus image and to contain the archive and database. Eg:

mkdir /home/dhus/Docker_Dhus (it will contain the configuration files)

mkdir /home/dhus/DHuS_archive (it will contain the archive, the databases and the logs)

cd /home/dhus/Docker_Dhus

The rest of commands below must be run from inside the Docker_Dhus directory.

• In the directory Docker_Dhus, extract the content of the file Docker_Dhus_file_for_shar-2.0.0.tar :

tar xvf Docker_Dhus_file_for_shar-2.0.0.tar

• Build the Docker DHus image:

docker build -t dhus .

• Start the builded DHuS:

docker run -u dhus -d -p 8081:8081 -t -v /home/dhus/DHuS_archive:/local_dhus dhus


The server will be accessible at http://localhost:8081

Credentials are:
username: root
password: password

Note: In case the local port 8081 is being used by another application on the host, start the dhus to be listening on another port:

Eg: “-p 8181:8081”

3. DHuS stop

To stop the DHuS properly, execute the stop.sh script internally to the container:

• Verify the ID of the running docker container executing the DHuS:

docker ps -a

• Stop the DHuS:

docker exec < container ID> /home/dhus/DHUS/stop.sh


$ docker ps -a:

9bde14068242  dhus "bash -c 'cd /home/dh"     3 minutes ago       Up 3 minutes   >8081/tcp big_wozniak
2ffc742b2e92   dhus "bash -c 'cd /home/dh"     41 minutes ago    Exited (0) About an hour ago   angry_thompson
d2a17cefc308  dhus "bash -c 'cd /home/dh"     2 hours ago          Exited (0) About an hour ago   thirsty_babbage

$ docker exec 9bde14068242 /home/dhus/DHUS/stop.sh:

4. DHuS Customization

When started the first time, the DHuS runs with some defaults value and parameters in the following configuration files:

• Dhus.xml

- Parameter varFolder set to “/local_dhus”

-Parameter workingDir set to “/local_dhus/working_dir”

-Parameter executor_enabled set to “true

-Section dataStore with HFS DataStore configured:

Name set to "local_store"

readOnly set to false

path set to usr/shared/DHUS//local_dhus/incoming

-Datastores "OpenStack Datastore" and "DHuS as DataStore" commented out

-Default for all the rest

• Log4j2.xml

-log file name set to “/local_dhus/logs/dhus.log”, with file rotation every day saved to "filename-yyyy-MM-dd"

-Default for all the rest

• start.sh

-Memory parameters set to -Xms4g and -Xmx4g, instead of -Xms12g and -Xmx12g

-Default for all the rest

• Server.xml

-Default for all

If a customization is required, modify SUCH files in the /home/dhus/Docker_Dhus as needed, following the instructions in the “DHuS Administration Manual” available at: http://sentineldatahub.github.io/DataHubSystem/documents/DHuS%20Administration%20Manual_2.0.0.pdf

To change the configuration:

• Verify the ID of the running docker container executing the DHuS and stop it:

docker ps -a

docker exec <container ID>/home/dhus/DHUS/stop.sh

cd /home/dhus/Docker_Dhus

• Customize the configuration files as needed

• Rebuild the Docker Dhus image:

docker build -t dhus .

• Restart the new builded DHuS:

docker run -u dhus -d -p 8081:8081 -t -v /home/dhus/DHuS_archive:/local_dhus dhus