Mesos Artifacts for WSO2 products provide Marathon application definitions per product profile to deploy WSO2 products in a clustered manner on Mesos DC/OS.
For example, for WSO2 ESB the following artifacts are available for deployment on Mesos DC/OS.
In addition, it has the Marathon application definition for its Configuration Registry database.
As evident from the above file list, there is a Marathon application definition for default, worker, and manager WSO2 Carbon profiles of WSO2 ESB. The relevant Marathon applications for a worker manager profile is used in a worker manager separated cluster.
The following diagram illustrates the high-level architecture of a clustered WSO2 product deployment on Mesos, using Manager and Worker separation.
The following are the steps required to deploy a WSO2 product in a distributed manner on Mesos.
- Step 1 - Build and load the WSO2 product Docker image
- Step 2 - Deploy the WSO2 product on Mesos in a distributed manner
- Step 3 - Access the UIs
Step 1 - Build and load the WSO2 product Docker image
- Build the WSO2 product Docker image with the relevant profiles, based on the instructions provided in step 1 in the Deploying a WSO2 Product on Mesos section.
- Load the WSO2 product Docker images to the Mesos node, based on the instructions provided in step 2 in the Deploying a WSO2 Product on Mesos section.
Use the relevant profiles to build the Docker images.
For example, when the following command is executed for an ESB 4.9.0 manager - worker separated deployment, it builds the
wso2esb-worker-mesos Docker images.
After the build is successful, issue the
docker images command to list the images that were successfully built.
Currently, the following product versions and profiles are supported by default.
|WSO2 Product||Abbreviation||Version||Profiles Supported (for distributed deployment)|
WSO2 API Manager
default, api-key-manager, api-store, api-publisher, gateway-manager, gateway-worker
|WSO2 Application Server||WSO2 AS||5.3.0||default, manager, worker|
|WSO2 Business Process Server||WSO2 BPS||3.5.0, 3.5.1||default, manager, worker|
|WSO2 Business Rules Server||WSO2 BRS||2.1.0, 2.2.0||default, manager, worker|
|WSO2 Complex Events Processor||WSO2 CEP||4.0.0||default, presenter, worker|
|WSO2 Data Analytics Server||WSO2 DAS||3.0.0, 3.0.1||default|
|WSO2 Data Services Server||WSO2 DSS||3.5.0||default, manager, worker|
|WSO2 Enterprise Store||WSO2 ES||2.0.0||default, publisher, store|
|WSO2 Enterprise Service Bus||WSO2 ESB||4.9.0||default, manager, worker|
|WSO2 Governance Registry||WSO2 G-Reg||4.6.0, 5.1.0||default|
|WSO2 Identity Server||WSO2 IS||5.0.0, 5.1.0||default|
|WSO2 Message Broker||WSO2 MB||3.0.0, 3.1.0||default|
|WSO2 Governance Registry Publisher Store||WSO2 G-Reg PubStore||5.1.0||default|
|WSO2 Identity Server Key Manager||WSO2 IS KM||5.1.0||default|
Step 2 - Deploy the WSO2 product on Mesos in a distributed manner
Execute the following command to trigger the distributed deployment.
Step 3 - Access the UIs
Add a host entry in the
/etc/hosts file (for Linux) for the Marathon LB hostname
marathon-lb.marathon.mesos, resolving to Marathon Load Balancer Host IP.
For example, if the Marathon Load Balancer Host IP is 192.168.65.111, the
/etc/hosts file entry is as follows: