Commit cf25c8cc authored by Tom Evans's avatar Tom Evans

Update Hazelcast plugin to use latest 3.1.x release (3.1.7)

Also updated docs for schema changes from an earlier release.
parent 124e644a
...@@ -44,11 +44,18 @@ ...@@ -44,11 +44,18 @@
Hazelcast Clustering Plugin Changelog Hazelcast Clustering Plugin Changelog
</h1> </h1>
<p><b>1.2.1</b> -- April 10, 2014</p>
<p>Hazelcast update:</p>
<ul>
<li>Updated Hazelcast to release 3.1.7 (<a href="http://www.hazelcast.org/docs/3.1/manual/html-single/#WhatsNew31">what's new</a>).</li>
<li>Changed configuration file and README to adjust for Hazelcast schema changes.</li>
</ul>
<p><b>1.2.0</b> -- February 10, 2014</p> <p><b>1.2.0</b> -- February 10, 2014</p>
<p>Miscellaneous enhancements:</p> <p>Miscellaneous enhancements:</p>
<ul> <ul>
<li>Fix cluster initialization logic (<a href="http://issues.igniterealtime.org/browse/OF-699">OF-699</a>)</li> <li>Fix cluster initialization logic (<a href="http://issues.igniterealtime.org/browse/OF-699">OF-699</a>)</li>
<li>Updated Hazelcast to release 3.1.5 (<a href="http://www.hazelcast.org/docs/3.1/manual/html-single/#WhatsNew31">what's new</a>).</li> <li>Updated Hazelcast to release 3.1.5.</li>
</ul> </ul>
<p><b>1.1.0</b> -- Sep 13, 2013</p> <p><b>1.1.0</b> -- Sep 13, 2013</p>
...@@ -88,7 +95,7 @@ Hazelcast Clustering Plugin Changelog ...@@ -88,7 +95,7 @@ Hazelcast Clustering Plugin Changelog
</ul> </ul>
<p><b>1.0.2</b> -- January 9, 2013</p> <p><b>1.0.2</b> -- January 9, 2013</p>
<p>This release addresses a number of issues and other feedback received via the <p>This release addresses a number of issues and other feedback received via the
<a href="http://community.igniterealtime.org/message/224947#224947">Hazelcast announcement</a> <a href="http://community.igniterealtime.org/message/224947#224947">Hazelcast announcement</a>
posted in the Openfire community forum:</p> posted in the Openfire community forum:</p>
<ul> <ul>
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
~ limitations under the License. ~ limitations under the License.
--> -->
<hazelcast xsi:schemaLocation="http://www.hazelcast.com/schema/config hazelcast-config-2.3.xsd" <hazelcast xsi:schemaLocation="http://www.hazelcast.com/schema/config hazelcast-config-3.1.xsd"
xmlns="http://www.hazelcast.com/schema/config" xmlns="http://www.hazelcast.com/schema/config"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<group> <group>
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<name>${plugin.name}</name> <name>${plugin.name}</name>
<description>${plugin.description}</description> <description>${plugin.description}</description>
<author>Tom Evans</author> <author>Tom Evans</author>
<version>1.2.0</version> <version>1.2.1</version>
<date>02/10/2014</date> <date>04/10/2014</date>
<minServerVersion>3.9.0</minServerVersion> <minServerVersion>3.9.0</minServerVersion>
</plugin> </plugin>
...@@ -65,41 +65,41 @@ open source <a href="http://www.hazelcast.org">Hazelcast</a> data distribution ...@@ -65,41 +65,41 @@ open source <a href="http://www.hazelcast.org">Hazelcast</a> data distribution
framework in lieu of an expensive proprietary third-party product. framework in lieu of an expensive proprietary third-party product.
</p> </p>
<p> <p>
The current Hazelcast release is version 3.1.5. The current Hazelcast release is version 3.1.7.
</p> </p>
<h2>Installation</h2> <h2>Installation</h2>
<p> <p>
To create an Openfire cluster, you should have at least two Openfire servers, To create an Openfire cluster, you should have at least two Openfire servers,
and each server must have the Hazelcast plugin installed. To install Hazelcast, and each server must have the Hazelcast plugin installed. To install Hazelcast,
simply drop the hazelcast.jar into $OPENFIRE_HOME/plugins along with any other simply drop the hazelcast.jar into $OPENFIRE_HOME/plugins along with any other
plugins you may have installed. You may also use the Plugins page from the plugins you may have installed. You may also use the Plugins page from the
admin console to install the plugin. Note that all servers in a given cluster admin console to install the plugin. Note that all servers in a given cluster
must be configured to share a single external database (not the Embedded DB). must be configured to share a single external database (not the Embedded DB).
</p> </p>
<p> <p>
By default during the Openfire startup/initialization process, the servers By default during the Openfire startup/initialization process, the servers
will discover each other by exchanging UDP (multicast) packets via a configurable will discover each other by exchanging UDP (multicast) packets via a configurable
IP address and port. However, be advised that many other initialization options IP address and port. However, be advised that many other initialization options
are available and may be used if your network does not support multicast are available and may be used if your network does not support multicast
communication (see <a href="#config">Configuration</a> below). communication (see <a href="#config">Configuration</a> below).
</p> </p>
<p>After the Hazelcast plugin has been deployed to each of the servers, use the <p>After the Hazelcast plugin has been deployed to each of the servers, use the
radio button controls located on the Clustering page in the admin console to radio button controls located on the Clustering page in the admin console to
activate/enable the cluster. You only need to enable clustering once; the change activate/enable the cluster. You only need to enable clustering once; the change
will be propagated to the other servers automatically. After refreshing the will be propagated to the other servers automatically. After refreshing the
Clustering page you will be able to see all the servers that have successfully Clustering page you will be able to see all the servers that have successfully
joined the cluster. joined the cluster.
</p> </p>
<p> <p>
Note that Hazelcast and the earlier clustering plugins (clustering.jar and enterprise.jar) Note that Hazelcast and the earlier clustering plugins (clustering.jar and enterprise.jar)
are mutually exclusive. You will need to remove any existing older clustering plugin(s) are mutually exclusive. You will need to remove any existing older clustering plugin(s)
before installing Hazelcast into your Openfire server(s). before installing Hazelcast into your Openfire server(s).
</p> </p>
<p> <p>
With your cluster up and running, you will now want some form of load balancer to With your cluster up and running, you will now want some form of load balancer to
distribute the connection load among the members of your Openfire cluster. There distribute the connection load among the members of your Openfire cluster. There
are several commercial and open source alternatives for this. For example, are several commercial and open source alternatives for this. For example,
if you are using the HTTP/BOSH Openfire connector to connect to Openfire, if you are using the HTTP/BOSH Openfire connector to connect to Openfire,
the Apache web server (httpd) plus the corresponding proxy balancer module the Apache web server (httpd) plus the corresponding proxy balancer module
(<a href="http://httpd.apache.org/docs/current/mod/mod_proxy_balancer.html">mod_proxy_balancer</a>) (<a href="http://httpd.apache.org/docs/current/mod/mod_proxy_balancer.html">mod_proxy_balancer</a>)
could provide a workable solution. Some other popular options include the could provide a workable solution. Some other popular options include the
...@@ -109,9 +109,9 @@ could provide a workable solution. Some other popular options include the ...@@ -109,9 +109,9 @@ could provide a workable solution. Some other popular options include the
<p> <p>
A simple round-robin DNS configuration can help distribute XMPP connections across multiple A simple round-robin DNS configuration can help distribute XMPP connections across multiple
Openfire servers in a cluster. While popular as a lightweight and low-cost way to provide Openfire servers in a cluster. While popular as a lightweight and low-cost way to provide
basic scalability, note that this approach is not considered adequate for true load balancing basic scalability, note that this approach is not considered adequate for true load balancing
nor does it provide high availability (HA) from a client perspective. If you are evaluating nor does it provide high availability (HA) from a client perspective. If you are evaluating
these options, you can <a href="http://en.wikipedia.org/wiki/Round-robin_DNS">read more here</a>. these options, you can <a href="http://en.wikipedia.org/wiki/Round-robin_DNS">read more here</a>.
</p> </p>
<h2>Upgrading the Hazelcast Plugin</h2> <h2>Upgrading the Hazelcast Plugin</h2>
<p> <p>
...@@ -134,7 +134,7 @@ same version of the plugin to prevent various errors and data synchronization is ...@@ -134,7 +134,7 @@ same version of the plugin to prevent various errors and data synchronization is
</ol> </ol>
<li>Repeat these steps for the remaining servers in the cluster.</li> <li>Repeat these steps for the remaining servers in the cluster.</li>
</ol> </ol>
<h3>Option 2: Online</h3> <h3>Option 2: Online</h3>
<p><b>NOTE:</b> Using this approach you should be able to continue servicing <p><b>NOTE:</b> Using this approach you should be able to continue servicing
XMPP connections during the upgrade. XMPP connections during the upgrade.
</p> </p>
...@@ -144,9 +144,9 @@ XMPP connections during the upgrade. ...@@ -144,9 +144,9 @@ XMPP connections during the upgrade.
<li>Upload the new Hazelcast plugin and confirm it is installed (refresh the page if necessary)</li> <li>Upload the new Hazelcast plugin and confirm it is installed (refresh the page if necessary)</li>
<li>Use the "Offline" steps above to upgrade and restart the remaining servers.</li> <li>Use the "Offline" steps above to upgrade and restart the remaining servers.</li>
</ol> </ol>
<h3>Option 3: Split-Brain</h3> <h3>Option 3: Split-Brain</h3>
<p><b>NOTE:</b> Use this approach if you only have access to the Openfire console. <p><b>NOTE:</b> Use this approach if you only have access to the Openfire console.
Note however that users may not be able to communicate with each other during the upgrade Note however that users may not be able to communicate with each other during the upgrade
(if they are connected to different servers). (if they are connected to different servers).
</p> </p>
<ol> <ol>
...@@ -174,14 +174,14 @@ when running a synchronous task across members of the cluster.</li> ...@@ -174,14 +174,14 @@ when running a synchronous task across members of the cluster.</li>
<li><i>hazelcast.config.xml.filename</i> (hazelcast-cache-config.xml): Name <li><i>hazelcast.config.xml.filename</i> (hazelcast-cache-config.xml): Name
of the Hazelcast configuration file. By overriding this value you can easily of the Hazelcast configuration file. By overriding this value you can easily
install a custom cache configuration file in the Hazelcast plugin /classes/ install a custom cache configuration file in the Hazelcast plugin /classes/
directory, in the directory named via the <i>hazelcast.config.xml.directory</i> directory, in the directory named via the <i>hazelcast.config.xml.directory</i>
property (described below), or in the classpath of your own custom plugin.</li> property (described below), or in the classpath of your own custom plugin.</li>
<li><i>hazelcast.config.xml.directory</i> ({OPENFIRE_HOME}/conf): Directory <li><i>hazelcast.config.xml.directory</i> ({OPENFIRE_HOME}/conf): Directory
that will be added to the plugin's classpath. This allows a custom Hazelcast that will be added to the plugin's classpath. This allows a custom Hazelcast
configuration file to be located outside the Openfire home directory.</li> configuration file to be located outside the Openfire home directory.</li>
<li><i>hazelcast.config.jmx.enabled</i> (false): Enables JMX support for <li><i>hazelcast.config.jmx.enabled</i> (false): Enables JMX support for
the Hazelcast cluster if JMX has been enabled via the Openfire admin console. the Hazelcast cluster if JMX has been enabled via the Openfire admin console.
Refer to the <a href="http://www.hazelcast.com/docs/2.5/manual/multi_html/ch06.html"> Refer to the <a href="http://www.hazelcast.com/docs/3.1/manual/multi_html/ch07.html">
Hazelcast JMX docs</a> for additional information.</li> Hazelcast JMX docs</a> for additional information.</li>
</ol> </ol>
</p> </p>
...@@ -204,8 +204,8 @@ following alternative: ...@@ -204,8 +204,8 @@ following alternative:
&lt;join&gt; &lt;join&gt;
&lt;multicast enabled="false"/&gt; &lt;multicast enabled="false"/&gt;
&lt;tcp-ip enabled="true"&gt; &lt;tcp-ip enabled="true"&gt;
&lt;hostname&gt;of-node-a.example.com:5701&lt;/hostname&gt; &lt;member&gt;of-node-a.example.com:5701&lt;/member&gt;
&lt;hostname&gt;of-node-b.example.com:5701&lt;/hostname&gt; &lt;member&gt;of-node-b.example.com:5701&lt;/member&gt;
&lt;/tcp-ip&gt; &lt;/tcp-ip&gt;
&lt;aws enabled="false"/&gt; &lt;aws enabled="false"/&gt;
&lt;/join&gt; &lt;/join&gt;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment