Configuring a Fabric Ensemble

In this tutorial we will learn how to setup a JBoss Fuse Fabric ensemble in two different modes: with 3 dedicated Fuse servers and with 3 SSH containers

A Fabric Ensemble is a group of one or more Fabric Servers that work together to maintain the registry and other services that are required for the management of the Fabric.

ensemble fabric jboss fuse tutorial

The Fabric Ensemble is based on Apache Zookeeper, which maintains two databases:

  • A Centralized configuration which contains the configuration profiles for all of the containers in the fabric.
  • A Runtime information database storing the status for all of the containers in the fabric.

The ensemble has to be distributed across multiple machines to provide high-availability. To ensure optimal performance of ZooKeeper and to prevent failures, the ensemble you should deploy an odd number of Fabric Servers (minimum 3).

Let's see how to create the ensemble with two different settings:

Setting up dedicated ensemble on the same machine

In order to set the JBoss Fuse ensemble on the same machine you have to configure different ports for the services in order to avoid conflicts.

Unzip JBoss fuse in three different folders, so that you have the following configuration:


Edit etc/ and change rmiRegistryPort, rmiServerPort, assiging an unique port:

rmiRegistryPort = 1099					       
rmiServerPort = 44444					       

rmiRegistryPort = 1100					       
rmiServerPort = 44445					       

rmiRegistryPort = 1101					       
rmiServerPort = 44446					       

Edit etc/ and change sshPort, assiging an unique port:

sshPort = 8101	
sshPort = 8102
sshPort = 8103	

Edit etc/ Change, org.osgi.service.http.port, activemq.port , assiging an unique port:

#nodeA = root					       
activemq.port = 61616	

#nodeB = root2					       
activemq.port = 61617	

#nodeC = root3					       
activemq.port = 61618					      

Now, start the root Container

$ ./fuse

And create the Fabric:

JBossFuse:karaf@root> fabric:create --new-user administrator --new-user-password password --new-user-role Administrator --zookeeper-password ZooPass1 --resolver manualip --manual-ip --wait-for-provisioning

Now, start the root2 Container and join the Fabric:

$ ./fuse
JBossFuse:karaf@root2> fabric:join
Ensemble password: ZooPass1

Now, start the root3 Container and join the Fabric:

$ ./fuse
JBossFuse:karaf@root3> fabric:join
Ensemble password: ZooPass1

Run the following command :

JBossFuse:karaf@root> fabric:ensemble-add root2 root3
This will change of the zookeeper connection string.
Are you sure want to proceed(yes/no):yes

Run the following command :

JBossFuse:karaf@root> fabric:ensemble-list

Create a Fabric ensemble with three remote SSH containers

First of all create a Fabric

JBossFuse:karaf@root> fabric:create --new-user administrator --new-user-password password --new-user-role Administrator --zookeeper-password ZooPass1 --resolver manualip --manual-ip --wait-for-provisioning

Next create the two SSH containers:

JBossFuse:karaf@root> fabric:container-create-ssh --host --user admin --password admin --path=/data --profile=fabric root2
JBossFuse:karaf@root> fabric:container-create-ssh --host --user admin --password admin --path=/data --profile=fabric root3

Check they are in the same ensemble:

JBossFuse:karaf@root> ensemble-list

If not then add them:

JBossFuse:karaf@root> ensemble-add root2 root3	

Check ensemble-list:

FREE WildFly Application Server - JBoss - Quarkus - Drools Tutorials
Cookie Policy

Cookie Policy This website uses cookies that are necessary to its functioning and required to achieve the purposes illustrated in the privacy policy. By accepting this OR scrolling this page OR continuing to browse, you agree to our privacy policy.

© 2020 Your Company. All Rights Reserved. Designed By JoomShaper

Please publish modules in offcanvas position.