Public Repository

Last pushed: a year ago
Short Description
Dockerized implementation of Pentaho Data Integration 6 Enterprise Edition
Full Description

This docker container allows you to run both Pentaho Data Integration as well as Carte as a service. This configuration uses the 'archive' mode of installation. Since Pentaho does not provide public links for it's enterprise downloads, and we do not supply them, this image will not run without links to your archive packages.

To Run:

  • Clone this repository or; using a new Dockerfile, source it with the FROM command.
  • Set your enterprise file download location in the Dockerfile starting at 'ENV pkg-biserver-ee=.
    Change other default variables as needed such as PENTAHO_DI_TARGET_VER, and default passwords (jcr_user_pwd, etc)
  • Update the PGPWD password in the run line below to match the one in the database table.
  • Build the docker image for this and pentaho-db
  • Run pentaho-ee-di: docker run -d --name pentaho-ee-di -p 9080:9080 -e PGUSER=postgresadm -e PGPWD=YourPasswordHere -e PGHOST=pentaho-db -e PGPORT=5432 -e PGDATABASE=postgres --link pentaho-db:pentaho-db -v /docker/mounts/pentaho-di/opt/pentaho:/opt/pentaho pentaho-di:targetversion &

More information on running the container:

To start the container with only PDI:
Docker run example: (Starting pdi)

(run the docker-db container first.)

docker run -d --name pentaho-di-
-p 9080:9080 #Map a host port to http port 9080.
-e PGUSER=postgresadm #Set the postgres username
-e PGPWD=YourPasswordHere #Set the postgres password
-e PGHOST=pentaho-db #Set the postgres hostname
-e PGPORT=5432 #Set the postgres port
-e PGDATABASE=postgres #Set the database type
--link pentaho-db:pentaho-db #link to the postgres container
-v /docker/mounts/pentaho-di/opt/pentaho:/opt/pentaho Map the /opt/pentaho folder to a volume on the container.
pentaho-di:targetversion &

Check the tags available on docker hub when setting 'targetversion '

To start the container with carte:
Carte can be run inside the same container as PDI, or separately. To run separately you would pass -e SERVICE_ENABLE_PDI=N and -e SERVICE_ENABLE_CARTE=Y
Since this is packaged together with PDI enterprise edition, PDI is designed to be the carte 'master server'. Therefore, if you're running carte at all, it would probably be as separate slaves to PDI.
The following environment variables can be passed to docker run using the -e option:
CARTE_NAME: The name of this Carte node (default: carte-server)
CARTE_NETWORK_INTERFACE: The network interface to bind to (default: eth0)
CARTE_PORT: The port to listen to (default: 9001)
CARTE_USER: The username for this node (default: cluster)
CARTE_PASSWORD: The password for this node (default: cluster)
CARTE_IS_MASTER: Whether this is a master node (default: Y)
CARTE_INCLUDE_MASTERS: Whether to include a masters section in the Carte configuration (default: N)

If CARTE_INCLUDE_MASTERS is 'Y', then these additional environment variables apply:
CARTE_REPORT_TO_MASTERS: Whether to notify the defined master node that this node exists (default: Y)
CARTE_MASTER_NAME: The name of the master node (default: carte-master)
CARTE_MASTER_HOSTNAME: The hostname of the master node (default: localhost)
CARTE_MASTER_PORT: The port of the master ndoe (default: 9001)
CARTE_MASTER_USER: The username of the master node (default: cluster)
CARTE_MASTER_PASSWORD: The password of the master node (default: cluster)
CARTE_MASTER_IS_MASTER: Whether this master node is a master node (default: Y)

Docker run example: (Starting carte container to attach to pdi master)

run the docker-db container first.

docker run -d --name pentaho-di-
-p 9080:9080 #Map a host port to pdi http port 9080.
-e PGUSER=postgresadm #Set the postgres username
-e PGPWD=YourPasswordHere #Set the postgres password
-e PGHOST=pentaho-db #Set the postgres hostname
-e PGPORT=5432 #Set the postgres port
-e PGDATABASE=postgres #Set the database type.
-e SERVICE_ENABLE_PDI=N #Start the carte service.
-e SERVICE_ENABLE_CARTE=Y #Start the carte service.
-e CARTE_NAME=CarteClient01
-e CARTE_USER=cluster
-e CARTE_PASSWORD=pasword
-e CARTE_IS_MASTER=N
-e CARTE_INCLUDE_MASTERS=Y
-e CARTE_REPORT_TO_MASTERS=Y
-e CARTE_MASTER_NAME=pdi.domain.org(for prod)
-e CARTE_MASTER_USER=admin
-e CARTE_MASTER_PASSWORD=password
--link pentaho-db:pentaho-db #link to the postgres container
-v /docker/mounts/pentaho-di/opt/pentaho:/opt/pentaho Map the /opt/pentaho folder to a volume on the container.
pentaho-di:latest &

Docker Pull Command
Owner
wusa

Comments (0)