Clustering WildFly

Created by kylin.7th, Dec

Agenda

  • Creating a cluster in standalone mode
  • Creating separate clusters in standalone mode
  • Creating a cluster in domain mode
  • Creating separate clusters in domain mode
  • Creating a cluster via TCP
  • Testing UDP protocol with “jgroups” tool

Creating a cluster in standalone mode

            
//
$ cd $JBOSS_HOME
$ cp -a standalone cl-std-node-1
$ cp -a standalone cl-std-node-2

$ cp cluster-test.war cl-std-node-1/deployments/
$ cp cluster-test.war cl-std-node-2/deployments/

$ ./bin/standalone.sh -Djboss.server.base.dir=cl-std-node-1 --server-config=standalone-ha.xml 
-Djboss.socket.binding.port-offset=100 -Djboss.node.name=node-1
$ ./bin/standalone.sh -Djboss.server.base.dir=cl-std-node-2 --server-config=standalone-ha.xml 
-Djboss.socket.binding.port-offset=200 -Djboss.node.name=node-2
            
        

Creating separate clusters in standalone mode

            
//
$ cd $JBOSS_HOME
$ cp -a standalone cl-std-node-A1
$ cp -a standalone cl-std-node-A2
$ cp -a standalone cl-std-node-B1
$ cp -a standalone cl-std-node-B2

$ cp cluster-test.war cl-std-node-A1/deployments/
$ cp cluster-test.war cl-std-node-A2/deployments/
$ cp cluster-test.war cl-std-node-B1/deployments/
$ cp cluster-test.war cl-std-node-B2/deployments/

$ ./bin/standalone.sh -Djboss.server.base.dir=cl-std-node-A1 --server-config=standalone-ha.xml 
-Djboss.socket.binding.port-offset=100 -Djboss.node.name=node-A1
$ ./bin/standalone.sh -Djboss.server.base.dir=cl-std-node-A2 --server-config=standalone-ha.xml 
-Djboss.socket.binding.port-offset=200 -Djboss.node.name=node-A2

$ ./bin/standalone.sh -Djboss.server.base.dir=cl-std-node-B1 --server-config=standalone-ha.xml 
-Djboss.socket.binding.port-offset=300 -Djboss.node.name=node-B1 -Djboss.default.multicast.address=230.0.0.5
$ ./bin/standalone.sh -Djboss.server.base.dir=cl-std-node-B2 --server-config=standalone-ha.xml 
-Djboss.socket.binding.port-offset=400 -Djboss.node.name=node-B2 -Djboss.default.multicast.address=230.0.0.5
            
        

Creating a cluster in domain mode

            
//
$ cd $JBOSS_HOME
$ cp -a domain cl-dmn-master
$ cp -a domain cl-dmn-slave

$ ./bin/domain.sh -Djboss.domain.base.dir=cl-dmn-master
$ ./bin/domain.sh -Djboss.domain.base.dir=cl-dmn-slave -Djboss.domain.master.address=127.0.0.1

[domain@localhost:9990 /] deploy cluster-test.war --server-groups=cluster-REST-app
            
        

Creating separate clusters in domain mode

            
//
$ cd $JBOSS_HOME
$ cp -a domain cl-dmn-master
$ cp -a domain cl-dmn-host-1
$ cp -a domain cl-dmn-host-2

$ ./bin/domain.sh -Djboss.domain.base.dir=cl-dmn-master
$ ./bin/domain.sh -Djboss.domain.base.dir=cl-dmn-host-1 -Djboss.domain.master.address=127.0.0.1
$ ./bin/domain.sh -Djboss.domain.base.dir=cl-dmn-host-2 -Djboss.domain.master.address=127.0.0.1

[domain@localhost:9990 /] deploy cluster-test.war --server-groups=cluster-REST-app
            
        

Creating a cluster via TCP

            
//
$ cd $JBOSS_HOME
$ cp -a standalone cl-std-tcp-node-1
$ cp -a standalone cl-std-tcp-node-2

$ cp cluster-test.war cl-std-tcp-node-1/deployments/
$ cp cluster-test.war cl-std-tcp-node-2/deployments/
           
        
            
//Change default-stack to tcp



Opional, replase MPING with TCPPING


	
		127.0.0.1[7700],127.0.0.1[7800]
	
	
        
	
		0
	
	
		2000
	

           
        
            
//
$ ./bin/standalone.sh -Djboss.server.base.dir=cl-std-tcp-node-1 --server-config=standalone-ha.xml 
-Djboss.socket.binding.port-offset=100 -Djboss.node.name=node-1
$ ./bin/standalone.sh -Djboss.server.base.dir=cl-std-tcp-node-2 --server-config=standalone-ha.xml 
-Djboss.socket.binding.port-offset=200 -Djboss.node.name=node-2

           
        

THE END