Session replication not occurring across different hosts
tzman Jul 4, 2013 10:59 AMI am running into an issue with domain mode configuration. I have Apache 2.2 with mod_cluster, 1 domain controller and 2 host controllers running on a single pc for testing. That is 3 separate instances of JBoss Eap 6.1
I can see both host controllers join the domain. And I can see both nodes recognize mod_cluster with the log output that they are using jvm-route. The number of nodes in the cluster logged appears correct.
I have tried a number of tutorials and have come across an issue getting session replication to occur across different hosts. Using the different clustering demo apps, i can session replication will work if failover occurs to a server within the same server group on the same host, but if failover occurs to a server in a second host the session is invalid.
I am not getting any errors in the server logs or the http log.
The following is my configuration, compiled from different tutorials.
Any clue as to what would cause this behavior? Is there additional information I can provide?
Any insight is greatly appreciated.
Httpd.conf
|
Domain.xml (using full-ha profile and full-ha-sockets)
<subsystem xmlns=
"urn:jboss:domain:web:1.4"
default
-virtual-server=
"default-host"
instance-id=
"${jboss.node.name}"
native
=
"false"
>
<connector name=
"http"
protocol=
"HTTP/1.1"
scheme=
"http"
socket-binding=
"http"
/>
<connector name=
"ajp"
protocol=
"AJP/1.3"
scheme=
"http"
socket-binding=
"ajp"
/>
<virtual-server name=
"default-host"
enable-welcome-root=
"true"
>
<alias name=
"localhost"
/>
<alias name=
"example.com"
/>
</virtual-server>
</subsystem>
<subsystem xmlns=
"urn:jboss:domain:modcluster:1.1"
>
<mod-cluster-config advertise-socket=
"modcluster"
proxy-list=
"172.16.4.34:6666"
connector=
"ajp"
>
<dynamic-load-provider>
<load-metric type=
"busyness"
/>
</dynamic-load-provider>
</mod-cluster-config>
</subsystem>
<server-groups>
<server-group name=
"main-server-group"
profile=
"full-ha"
>
<jvm name=
"default"
>
<heap size=
"1303m"
max-size=
"1303m"
/>
<permgen max-size=
"256m"
/>
</jvm>
<socket-binding-group ref=
"full-ha-sockets"
/>
<deployments>
<deployment name=
"cluster-example.war"
runtime-name=
"cluster-example.war"
/>
</deployments>
</server-group>
<server-group name=
"other-server-group"
profile=
"full-ha"
>
<jvm name=
"default"
>
<heap size=
"1303m"
max-size=
"1303m"
/>
<permgen max-size=
"256m"
/>
</jvm>
<socket-binding-group ref=
"full-ha-sockets"
/>
</server-group>
</server-groups>
Domain host.xml
<domain-controller>
<local/>
</domain-controller>
<interfaces>
<
interface
name=
"management"
>
<inet-address value=
"${jboss.bind.address.management:172.16.4.34}"
/>
</
interface
>
</interfaces>
Slave 1 host.xml
<domain-controller>
<remote host=
"${jboss.domain.master.address:172.16.4.34}"
port=
"${jboss.domain.master.port:9999}"
security-realm=
"ManagementRealm"
/>
</domain-controller>
<interfaces>
<
interface
name=
"management"
>
<inet-address value=
"${jboss.bind.address.management:127.0.0.1}"
/>
</
interface
>
<
interface
name=
"public"
>
<inet-address value=
"${jboss.bind.address:172.16.4.34}"
/>
</
interface
>
<
interface
name=
"unsecure"
>
<!-- Used
for
IIOP sockets in the standard configuration.
To secure JacORB you need to setup SSL -->
<inet-address value=
"${jboss.bind.address.unsecure:127.0.0.1}"
/>
</
interface
>
</interfaces>
<servers>
<server name=
"server-one"
group=
"main-server-group"
>
<jvm name=
"default"
>
<jvm-options>
<option value=
"-agentlib:jdwp=transport=dt_socket,address=8787,server=y,suspend=n"
/>
</jvm-options>
</jvm>
<socket-bindings port-offset=
"100"
/>
</server>
<server name=
"server-two"
group=
"main-server-group"
auto-start=
"false"
>
<socket-bindings port-offset=
"200"
/>
</server>
</servers>
Slave 2 host.xml
<domain-controller>
<remote host=
"${jboss.domain.master.address:172.16.4.34}"
port=
"${jboss.domain.master.port:9999}"
security-realm=
"ManagementRealm"
/>
</domain-controller>
<interfaces>
<
interface
name=
"management"
>
<inet-address value=
"${jboss.bind.address.management:127.0.0.1}"
/>
</
interface
>
<
interface
name=
"public"
>
<inet-address value=
"${jboss.bind.address:172.16.4.34}"
/>
</
interface
>
<
interface
name=
"unsecure"
>
<!-- Used
for
IIOP sockets in the standard configuration.
To secure JacORB you need to setup SSL -->
<inet-address value=
"${jboss.bind.address.unsecure:127.0.0.1}"
/>
</
interface
>
</interfaces>
<servers>
<server name=
"server-three"
group=
"main-server-group"
>
<socket-bindings port-offset=
"300"
/>
</server>
<server name=
"server-four"
group=
"main-server-group"
auto-start=
"false"
>
<socket-bindings port-offset=
"400"
/>
</server>
</servers>