You are viewing the RapidMiner Go documentation for version 9.9 - Check here for latest version
Install RapidMiner Go
Prerequisites
To install RapidMiner Go on-premise, you need an on-premise license. Please contact sales for more information.
You need to have the following installed and running on your machine:
- Docker >= v18.09
- docker-compose >= 1.23
To read more how to install docker and docker-compose on your platform see:
- Docker https://docs.docker.com/install/
- Docker Compose is bundled with Docker Desktop, but if you still need it, see: https://docs.docker.com/compose/install/
You need to grant at least 8GiB of memory to the Docker Engine for acceptable performance.
Docker Images
The application is composed of several images:
- rapidminer-automodel-routing : Routing NGINX reverse proxy
- rapidminer-automodel-rmid : RMID - authentication and authorization service
- rapidminer-automodeler : RapidMiner Go - the automatic modeling and prediction service
- rapidminer-automodel-job-container : Job Container - execution backend for RapidMiner Go
- rapidminer-ui-event-tracking : EventTracking - analytics service
Each service can be customized by setting environment variables in docker-compose-services.yml
.
For configuration options check the relevant sub-pages.
The images of the individual services are available on Docker Hub
Docker-compose
Please download and unzip the docker files here.
The full stack can be composed using two files:
- docker-compose-infra.yml : contains all the infrastructural needs for the application stack
- docker-compose-services.yml : contains all the services configured
To start the full stack execute the following steps:
- Copy your RapidMiner Go license into the folder licenses/rapidminer-go-on-prem
- The license file can have any name, so long as it ends with
.lic
- Edit the .env file and make sure to update the following:
AUTH_SECRET=your_base64_encoded_secret
BASE_URL=https://localhost:30000
- IMAGE_TAGs identify the build versions to be used for composing.
- AUTH_SECRET is the secret used for signing and validating the authentication tokens used by the applications -- it has to be a Base64 encoded string.
- BASE_URL is the external base URL visible on the frontend - e.g. https://localhost:30000
Docker-based resource limitation
Further down you will find the default memory settings for the services. These are optimized for a 8GB of total RAM consumption where 4GB is used by the single JobContainer. If you plan to use multiple JobContainers in parallel please allocate additional 4GB RAM to each.
JOB_CONTAINERS=1
MEMORY_PER_JOB_CONTAINER=4G
MEMORY_AM=1560M
MEMORY_DB=256M
MEMORY_MQ=512M
MEMORY_ROUTING=64M
MEMORY_RMID=512M
MEMORY_ET=320M
These values are filled into the memory_limit
field for each service in the docker-compose file.
Inside the docker-compose file it is also possible to limit the number of cpus's via the cpus
field.
Finally the IMAGE_TAG's identify the image versions to be used for composing:
IMAGE_TAG_ROUTING=2.4.1
IMAGE_TAG_RMID=2.4.1
IMAGE_TAG_AM=2.4.1
IMAGE_TAG_JC=2.4.1
IMAGE_TAG_ET=2.4.0
Important: The databases and the AMQ broker use the default passwords. It is not recommended to use these in production. Follow the guide below to change the default passwords.
- if you have already installed a previous version of RapidMiner Go - stop and remove running containers, remove docker images of previous versions before proceeding
- Execute
docker-compose -f docker-compose-infra.yml up -d
- Execute
docker-compose -f docker-compose-services.yml up -d
- Wait for ~2-3 minutes depending on your machine to have all the services available
To check logs of individual applications:
- Execute
docker-compose -f docker-compose-STACK.yml logs SERVICE_NAME
where STACK is the postfix of the yml file's name and SERVICE_NAME is the name of the service which logs you want to display (use compose yml's service names (which are the direct children of services: node, e.g.: rapidminer-automodeler)
To shut down the full stack:
- First shut down services by executing
docker-compose -f docker-compose-services.yml down
- Then shut down infrastructure via
docker-compose -f docker-compose-infra.yml down
Try
- Open application on https://localhost:30000
- the browser will warn you that the site is not secure - this is because of the self-signed certificate - for testing purposes you can add a security exception and proceed; if you plan to serve RapidMiner Go on plain HTTP you can find instructions at the bottom of this page
Use
admin
andchangeit
for user/passwordFor creating additional users check RMID docs
Change the default passwords
You should change the default database passwords for users rmid
and cookie
in docker-entrypoint-initdb.d/init-user-db.sh :
CREATE USER cookie WITH ENCRYPTED PASSWORD 'automodel_db_password';
...
CREATE USER rmid WITH ENCRYPTED PASSWORD 'rmid_db_password';
Then you should provide the same passwords by adding new environment variables to the services in docker-compose-services.yml:
rapidminer-automodeler:
image: rapidminer/rapidminer-automodeler:${IMAGE_TAG}
environment:
...
DB_PASSWORD: <automodel_db_password>
...
rapidminer-automodel-rmid:
image: rapidminer/rapidminer-automodel-rmid:${IMAGE_TAG}
environment:
...
DB_PASSWORD: <rmid_db_password>
...
rapidminer-ui-event-tracking:
image: rapidminer/rapidminer-ui-event-tracking:${IMAGE_TAG}
environment:
...
DB_PASSWORD: <automodel_db_password>
...
The default database is PostgreSQL 9.6, exposed by default on port 5432 of localhost
.
Direct connections are possible via any database console or a tool such as pgAdmin.
The default password can be changed in docker-compose-infra.yml
rapidminer-automodel-db:
image: postgres:9.6.6
volumes:
- rapidminer_automodel_dbdata:/var/lib/postgresql/data
- ./docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
environment:
POSTGRES_PASSWORD: cookiepass
POSTGRES_USER: cookie
ports:
- "5432:5432"
To further improve security, the ActiveMQ password should also be added as a new environment variable in docker-compose-infra.yml :
rapidminer-automodel-activemq:
image: webcenter/activemq:5.13.1
environment:
...
ACTIVEMQ_ADMIN_LOGIN: admin
ACTIVEMQ_ADMIN_PASSWORD: admin
ACTIVEMQ_OWNER_PASSWORD: <amq_password>
...
ports:
- "8161:8161"
Then provide the same password as a new environment variable to services in docker-compose-services.yml:
rapidminer-automodeler:
...
AMQ_PASSWORD: <amq_password>
...
rapidminer-automodel-job-container:
...
AMQ_PASSWORD: <amq_password>
...
An admin console is also exposed for ActiveMQ. Use the ACTIVEMQ_ADMIN
credentials to access the admin monitoring tool of
ActiveMQ in your browser at http://localhost:8161/admin/queues.jsp.
Use HTTPS
The default configuration uses HTTPS with a self-signed certificate issued for localhost.
Use a certificate issued by a certificate authority
If you already have a certificate:
- copy the crt file to
ssl/certs/go.crt
and - copy the private key file to
ssl/private/go.key
The file names and locations should be exactly as indicated.
This whole ssl
folder is mounted into the routing service container's file system.
Then edit the value of SERVER_NAME
in docker-compose-services
for service rapidminer-automodel-routing
to match the 'Common name' specified in your certificate.
Optionally you might also want to change the port where RapidMiner Go listens -- the default port mapping is 30000:443
Finally change the BASE_URL in .env
to your domain - e.g. https://go.mydomain.com:30000
Generate a self-signed certificate
You can generate your own self-signed certificate for testing purposes:
Run the following command and enter 'localhost' for 'Common name':
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ssl/private/go.key -out ssl/certs/go.crt
Generate the dhparams file using the following command:
sudo openssl dhparam -out ssl/certs/dhparam.pem 2048
Finally set SERVER_NAME
to localhost.
Use HTTP
If you decide to use HTTP because RapidMiner Go is behind a reverse proxy doing the ssl offload, these are the steps to configure it:
In docker-compose-services.yml
change the following lines for rapidminer-automodel-routing
service:
PORTS
: change port mapping to30000:80
PROTOCOL
: sethttp
SERVER_NAME
: setlocalhost
Finally change BASE_URL in .env
file to http://localhost:30000
Branding
RapidMiner Go frontend applications can be customized to use OEM branding. Starting with version 2.4.1, the following customizable properties are supported:
RapidMiner Automodeler
- app header color
- logo
- favicon
- application name: change "Go" to a preferred app name everywhere
- Profile menu: hide completely or customize the menu items
- Help menu: hide completely or customize menu items
RapidMiner Identity (RMID)
- app header color
- logo
- favicon
- application name
Steps to customize the application:
Make sure the
branding
profile is enabled in docker-compose-services.yml:- Automodeler: SPRING_PROFILES_ACTIVE: on-prem,db-postgresql,branding
- RMID: SPRING_PROFILES_ACTIVE: on-prem,db-postgresql,is-db,branding
Edit the images and the
application-branding.yml
files insidebranding/am
andbranding/rmid
.application-branding.yml
defines colors, menu items and app nameimages
folder contains logo and favicon assets- logo dimensions should be 700 x 100
- favicon should have at least the 16 x 16 pixel variant
Run
docker-compose -f docker-compose-services.yml up -d
again.
To disable branding remove the branding
profile from SPRING_PROFILES_ACTIVE - application will display the default RapidMiner branding.
Important: Keep the file, folder and image namings.
Upgrade
Upgrading to RapidMiner Go 2.5.7 requires a post-installation step.
First install:
- install RapidMiner Go 2.5.7 by running the docker-compose scripts
when the system is running, log in as the predefined
admin
user- if you don't want to use the admin user -- you can perform this with any user having
am:admin
privilege - you can assign this privilege to a user in the RMID admin console accessible at
/rmid/auth/login/admin
- see RMID docs for details
- if you don't want to use the admin user -- you can perform this with any user having
Then upgrade:
call the upgrade endpoint via the browser where you are logged in:
{BASE_URL}/am/api/data/update-all-data
check the rapidminer-automodeler service logs. When the upgrade is done they should contain an entry of this form:
c.rapidminer.cookie.service.DataService : Finished updating all dataEntities