×

    Message

    EU e-Privacy Directive

    This website uses cookies to manage authentication, navigation, and other functions. By using our website, you agree that we can place these types of cookies on your device.

    View e-Privacy Directive Documents

    View GDPR Documents

    You have declined cookies. This decision can be reversed.

    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:

    nodeA/jboss-fuse-6.2.1.redhat-084
    nodeB/jboss-fuse-6.2.1.redhat-084
    nodeC/jboss-fuse-6.2.1.redhat-084
    

    Edit etc/org.apache.karaf.management.cfg and change rmiRegistryPort, rmiServerPort, assiging an unique port:

    #nodeA
    rmiRegistryPort = 1099					       
    rmiServerPort = 44444					       
    
    #nodeB
    rmiRegistryPort = 1100					       
    rmiServerPort = 44445					       
    
    #nodeC
    rmiRegistryPort = 1101					       
    rmiServerPort = 44446					       
    

    Edit etc/org.apache.karaf.shell.cfg and change sshPort, assiging an unique port:

    #nodeA
    sshPort = 8101	
    #nodeB
    sshPort = 8102
    #nodeC
    sshPort = 8103	
    

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

    #nodeA
    karaf.name = root					       
    org.osgi.service.http.port=8181				       
    activemq.port = 61616	
    
    #nodeB
    karaf.name = root2					       
    org.osgi.service.http.port=8182			       
    activemq.port = 61617	
    
    #nodeC
    karaf.name = root3					       
    org.osgi.service.http.port=8183				       
    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 192.168.10.1 --wait-for-provisioning
    

    Now, start the root2 Container and join the Fabric:

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

    Now, start the root3 Container and join the Fabric:

    $ ./fuse
    
    JBossFuse:karaf@root3> fabric:join 192.168.10.1:2181
    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
    [id]
    root
    root2
    root3
    

    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 192.168.10.1 --wait-for-provisioning
    

    Next create the two SSH containers:

    JBossFuse:karaf@root> fabric:container-create-ssh --host 192.168.10.2 --user admin --password admin --path=/data --profile=fabric root2
    JBossFuse:karaf@root> fabric:container-create-ssh --host 192.168.10.3 --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:

    JBossFuse:karaf@root> fabric:ensemble-list
    [id]
    root
    root2
    root3
    
    FREE WildFly Application Server - JBoss - Quarkus - Drools Tutorials
    © 2020 masteringintegration.com. All Rights Reserved.

    Please publish modules in offcanvas position.