JBoss EAP 6.x - Creating a quick domain with a few hosts

This example guide was tested / created using EAP 6.4.3

Quickly setup EAP in Domain

Single host (OS)
1 - Domain Controller
2 - Nodes

Domain
Change the host config, (if you do not change then command line domain.sh --host-config=host-master.xml

mv host-master.xml host.xml

Note: If using HA profiles, hornetq cluster admin/password need to be set (can be done in Web Console as well) — not the same as the account created by ./add-user.sh
Note: If multiple profiles using hornetq ha, then user & password both must be unique
Add cluster-user element, it may not already be in the config
This add the "<cluster-user>" to the domain.xml, above "<cluster-password>"

<cluster-user>admin</cluster-user>
<cluster-password>passw0rd!</cluster-password>

Add admin management user (web console) i.e. admin


./add-user.sh

Add domain management user, i.e. mgmt


./add-user.sh

     Answer “yes” to below:
     Is this new user going to be used for one AS process to connect to another AS process?  e.g. for a slave      host controller connecting to the master or for a Remoting connection for server to server EJB calls.

     To represent the user for the host add the following to the server-identities definition

<secret value="cGFzc3cwcmQh" />

Node (repeat for each node, separate folder or server) 

Change the host config

mv host-slave.xml host.xml

Modify host.xml to add name attribute

<host name="host1" xmlns="urn:jboss:domain:1.7">

Modify host.xml server identity secret (use the secret created for the domain, i.e. mgmt user)

<secret value="cGFzc3cwcmQh"/>

Modify node host controller management interface port, increment by 1000 for each host if on the same OS

<socket interface="management" port="${jboss.management.native.port:10999}"/>

Starting the environment

Domain
Start the domain controller by running "domain.sh" each

Node(s)
Start each node by running "domain.sh -Djboss.domain.master.address=<DOMAIN_IP>"


Notes
When adding a server group, specifying for instance full-ha profile and using standard-sockets will result in an error because the full-ha profile needs additional socket bindings which aren’t defined in standard-sockets

Changing the server group socket binding, is not reflected in previously created server definitions on the host, need to manually edit those

To properly remove/clear up a server group, remove each server definition from each host, then remove the server group

I also noticed when using mod_cluster with Apache httpd.  Multicast / advertise feature seems to have issues connecting when using OpenJDK 1.8 on RHEL7.  With OpenJDK 1.7 on RHEL7, it appears to work fine.  For either version, proxy-list will work regardless of OpenJDK version.
comments powered by Disqus