1.2.1_beta Clustering Plugin

I have a cluster in place that has 15 servers and over 10k connections against it. At this point outside of the common locking issue that Coherence comes baked in with I am not experiencing issues.

Are you still getting this error?

Yeah i placed the

tangosol-coherence-override.xml in “C:\Program Files (x86)\Openfire”

coherence-cache-config.xml in “C:\Program Files (x86)\Openfire\lib”

I copied clustering.jar into the plugins folder and my openfire displays plugin cluster 1.2.1_beta

I also turned off my firewall

When i enable it a few things happen

  1. Clustering doesnt see other server

  2. Restarting openfire service i cant use admin console

  3. when clusting is enabled i cant click on the 1 node thats in there to see information, the only node in the cluster is the node that i installed clusting on.

I think i am very close to getting it to work but i cant figure out what is wrong.

Thanks allot

The tangosol-coherence-override.xml should go into your system root directory (C:), not the Openfire root directory. Try that.

OK, i just moved the tangosol-coherence-override.xml to the C:\ and i got this error

Failed to start or join an existing cluster. Check the error log for more information

2012.02.16 12:29:43 com.jivesoftware.util.cache.CoherenceClusteredCacheFactory - Unable to start clustering - continuing in local mode

(Wrapped: Failed to load the factory) java.lang.ClassNotFoundException: com.jivesoftware.util.cache.JiveConfigurableCacheFactory

Hrmm. Just to be sure. I’ll attach a slightly updated version. It has some additional debugging in it, so be sure to watch the logs/nohub.out file when starting.


I’ve updated the link to the plugin. Please download it again from above. Note that it will not change the version number within the plugin list within Openfire.

So just put the New Clustering.jar in “C:\Program Files (x86)\Openfire\plugins” ? and restart service and enable clusting?

Quick Question, do i need the servers to be on a domain or can this work on a workgroup?

now i cant enable clustering it fails to start or join an existing cluster.

To be sure I would remove the clustering folder and clustering.jar from Openfire’s plugin folder, restart Openfire, then install the plugin.

It can be sensitive

After you do the suggested restart strategy to make sure no artifacts are getting in the way. Try again and if your still having issues please send over the stack trace from the error log.

I removed the tangosol.xml from “C:” and the removed the coherence-cache-config.xml from “C:\Program Files (x86)\Openfire\lib” and i was able to enable cluster. I see only 1 node. I have 2 server Openfire01 and Openfire02. I installed clustering on both and enabled it on A and B. Now each server sees itself in the Clustering Overview, A sees Nodes Openfire01 and B sees Openfire02, but they dont see eachother. I would like to debug this while i have it up and running becuase if i restart the service it kills my admin console and i have to go into the openfire config and edit the clutering to false then restart the service to get it working.

Thanks for the help.

i was looking at the cluster overview and i noticed something. What does the yellow local node indicate? In my errors i saw that it said it was running in “local mode” do i need to get in a different mode then local mode?

This means that it failed to start the cluster and failed over. Is there a stack trace with that error?

Also note that I’ve only tested this within a Linux environment as I do not use Windows. So this troubleshoot will be beneficial once we can figure it out.

Right thats true but i think the platform wouldnt have a huge impact. I just updated to opencluster and amd using the clustering.war which is clustering 1.2.2. Have you used that yet?

An error that im getting the is really weird is 1 server changes its name.

Again i have two servers openfire01 & openfire02 when i enable clustering in my server manager on openfire02 the server properties list the server name as openfire01 but the hostname is still openfire02.

Platform: Completely agree, but you never know

opencluster: Although it’s a great step forward towards moving away from Coherence, the plugin does need some work. I’ve reviewed it and found it to be more a less a proof of concept. It’s build using Shoal, which is great, but lacks a few features such as synchronous clustering tasks, which some of Openfire’s features depend on. I would contact Dele, the original developer and ask his opinion within a production environment.

On another note I will be experimenting with reworking the clustering aspect of Openfire to extract the clustering aspect and replace it within a big memory container such as MongoDB. This would allow the XMPP servers to become more like work horses that will only ask for data when necessary, otherwise they would depend on their local cache to handle sending packets between the servers. This would allow us to step away from Coherence’s cache dependency and approach back end “cluster” processing in a seperate way.

The end goal is to be able to scale Openfire on a region by region level without impacting the performance of the user’s experience. By moving the cache (which clusters use) to a more robust flexible environment like a MongoDB sharded infrastructure it would allow the cache to flourish and replicate with other regions data. MongoDB is free and installing it is a snap. BUT it’s theoredical at the moment only. No working product is ready.

That sounds very interesting and is very informative. So your suggestion is to switch back to coherence and reinstall clustering. The problems I have with the cluster plugin is I can’t get it to see other openfire nodes/clusters, I can’t get it out of local mode and I can’t restart the service without the admin console breaking . Has anyone gotten the clustering plugin to work with windows 2008 r2 w a MySQL db?

I figured it out thanks. It was a routing issue i had two nics on each server. Thanks.