As part of customers cloud journey, many of the services used and connected as part of defined ETL workflows are present and managed by the cloud (such as storage buckets, relational & analytical databases, messaging systems, etc.).
It means Pentaho is required to:
Sit close to these services for security and performance considerations
Ability to scale up and down based on requirements
Pentaho does not offer a one-size-fits-all container image for deployments, understanding that each customer's needs and deployment scenarios are unique.
The DockMaker command line tool is intended to create docker images and start docker containers that will support various Pentaho products, including Pentaho Server, Carte, and PDI (kitchen/pan).
Keep taping the ⬇️ (down arrow key) until you come to the User Agreement
(1 – accept 2 – to reject 3 - to redisplay)
Enter: 1
Change the default installation path:
Copy & Paste the Dockmaker installation path.
/home/pentaho/DockMaker-9.5
Target Path
────────────────────────────────────────────────────────────────────────────────
Select the installation path: [/home/installer/pentaho/dock-maker-9.5.0.0-240-public
/home/pentaho/DockMaker-9.5
--------------------------------------------------------------------
Message
The target directory will be created:
/home/pentaho/DockMaker-9.5
--------------------------------------------------------------------
Enter O for OK, C to Cancel:
O
Press 1 to continue, 2 to quit, 3 to redisplay
1
────────────────────────────────────────────────────────────────────────────────
Installation
────────────────────────────────────────────────────────────────────────────────
====================
Installation started
Framework: 11.0.5 (Ubuntu)
Platform: ubuntu_linux,version=5.15.0-60-generic,arch=x64,symbolicName=null,javaVersion=11.0.18
[ Starting to unpack ]
[ Processing package: Base (1/1) ]
executable perms set on file DockMaker.sh
executable perms set on file DockMakerDown.sh
executable perms set on file docker-entrypoint.sh
executable perms set on file docker-entrypoint.sh
executable perms set on file install_license.sh
executable perms set on file set-pentaho-env.sh
[ Unpacking finished ]
Installation finished
────────────────────────────────────────────────────────────────────────────────
Installation Finished
────────────────────────────────────────────────────────────────────────────────
Installation was successful
Application installed on /home/pentaho/DockMaker-9.5
[ Console installation done ]
DockMaker will attempt to download all artifacts associated with the requested container into an “Artifact Cache”.
Alternatively, the “Artifact Cache” folder can be pre-populated with artifacts by loading them into the artifact cache folder.
DockMaker is the Pentaho tool for building and deploying Pentaho containers.
Folder / File
Description
artifactCache
This folder serves as the default storage location for any artifacts that are downloaded or required to setup the image. The location of this folder can be changed in the DockMaker.properties file.
containers
This has various files and templates that will be tapped when running the command line tool.
generatedFiles
This folder is created when the command line tool is executed. It contains all the file necessary to create a docker image and use docker compose to bring up the containers.
lib
Libraries
DockMaker.bat or DockMaker.sh
The command line for Windows and Linux, respectively.
DockMakerDown.bat or DockMakerDown.sh
A command to bring down, and remove, the containers and volumes used by the docker compose command.
When uncommented, DockMaker will look for the Pentaho artefacts in the artifactCache directory before attempting to download.
21. # Downloaded artifacts get stored here
22. docker.server.artifactCache=./artifactCache
Based on the artefact filename (or URL), the following variables are defined.
24. # Preset Variables are as follows:
25. # ${version} = The version of the base server zip (ie: 9.2.0.0)
26. # ${distNumber} = the build number of base server zip (ie: 657)
27. # ${patchVersion} = The version of the patch file (ie: 9.2.0.3)
28. # ${patchDistNumber} = The build number of the patch file (ie: 828)
29. # ${edition} = ce or ee
30. # ${pluginId} = 3 character plugin ID (ie: paz, pdd, or pir)
31. # ${karId} = The unique ID for a kar. (ie: The kar file used on the command line such as cdh61)
Comment out the following if you have copied over the Pentaho artefacts to the artifactCache directory.
The containers/registry.yml file contains information about what versions and combinations are supported by the command tool. The “databaseMap” section defines what databases can be used to host the Pentaho Server repository database.
Two versions of Postgres are supported, 9.6 or 13.5.
The fully qualified database names available on the command line will be “postgres/9.6” and “postgres/13.5”.
The compose yml file that will serve as a template to this configuration is “dock-compose-postgres.yml” and the folder containing the DDL to define the tables can be found in the “db_init_postgres” folder.
The docker image that will be pulled down is defined in “image” property and will be either “postgres:9.6” or “postgres:13.5”.
To ensure that the Pentaho Server uses the same location to store and retrieve your Pentaho licenses, you must create a PENTAHO_INSTALLED_LICENSE_PATH system environment variable for your Pentaho user account if it does not exist.
It does not matter what location you choose; however, the location needs to be available to the user account(s) that run the Pentaho Server.
Unpack Pentaho licenses and move to installer directory: