Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Running three zip modules in cluster in Single Gear #17

Open
gabriel-andrade opened this issue Oct 15, 2015 · 0 comments
Open

Running three zip modules in cluster in Single Gear #17

gabriel-andrade opened this issue Oct 15, 2015 · 0 comments

Comments

@gabriel-andrade
Copy link

We are trying to deploy three Vert.x modules with this cartridge using 2 vertx modules zip files called Integrator and ServerSide (Integrator.zip and ServerSide.zip) in Openshift Online.
We like to set them in a single cluster to communicate with each other so we modified provided control script to run all of them with different VERTX_OPTS options and same $vertx_cluster options. We run them in the following order

  1. Integrator with Integrator.zip
  2. ServerSide1 with ServerSide.zip
  3. ServerSide2 with ServerSide.zip

We slightly modified control script of Vert.x cartridge to setup and launch the modules as shown in our script in pastebin.

This is what we are expecting to happen (Already tested and working right in local machine):

  1. Integrator launches and create cluster (In local machine we only pass -cluster option)
  2. ServerSide1 launches and joins cluster (In local machine we only pass -cluster option)
  3. ServerSide2 launches and joins cluster (In local machine we only pass -cluster option)
  4. The three modules can talk with each other through the Event Bus.

Unfortunately we keep getting errors from ServerSide1 and ServerSide2 about "Address already in use" Bind Exception.
I assume that Vert.x is trying to create again a cluster when launching ServerSides 1 and 2 when Integrator already did that.

We already tried some changes from an old openshift forums post. But none of them worked:

  1. Change Hazelcast port from 5701 to 15000 and set auto-incremente to true in cluster.xml - It seems that this change launch three different clusters for each module, which cannot comunicate with each other.
  2. Launch ServerSide1 and ServerSide2 without cluster-host and cluster-port option - Nothing changes We keep getting "Addres already in use" bind exception.
  3. Change -cluster-port port numbers for ServerSide1 and ServerSide2 - It seems that this change launch three different clusters for each module, which cannot comunicate with each other.

One option we haven't tried yet and we're not sure if is right to do is to setup different cluster.xml or change cluster.xml file for running each vertx module. We're still figuring out the correct setup must be included in each file.

Is it the right approach to run several modules in single node and make them communicate with each other with -cluster option?
I don't have a lot of experience with Vert.x so I assume that I'm not understanding well it's internal function and there are not a lot of documentation for setting specific cluster setups like ours

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant