Target Architecture:
Simplistically we are aiming for the following architecture:I've assumed IP addresses, passwords and names to keep thing simple.
Later on we will need base64 version of the identity. I used this website to generate the following base64 strings:
Identity Base64
node1id bm9kZTFpZA==
node2id bm9kZTJpZA==
node3id bm9kZTNpZA==
1) Configure the ManagementRealm
The nodes authenticates with the domain controller (DC) by passing it's node name and password. The DC does a name/password lookup against the ManagementRealm.so... the first step is to configure the ManagementRealm.
On the domain controller run:
add-user node1 (when prompted set password to node1id)
add-user node2 (when prompted set password to node1id)
add-user root (when prompted set password to password)
(The root user is used for logging into the jboss console.)
Start up the domain controller:
domain -b 192.168.0.24 -bmanagement 192.168.0.24
2) Configure Node 1
Open host.xml (under jboss-as-7.1.1.Final\domain\configuration) and edit as follows:
a) Update <host tag to read:
<host name="node1" xmlns="urn:jboss:domain:1.2">
b) Add server-identities section to <security-realm name="ManagementRealm">
<security-realm name="ManagementRealm">
<server-identities>
<secret value="bm9kZTFpZA=="/>
</server-identities>
<authentication>
...
</authentication>
</security-realm
The secret value is the base64 encoded version of the Node password.
c) Edit the <domain-controller> section to read:
<domain-controller>
<remote host="${jboss.domain.master.address:192.168.0.24}"
port="${jboss.domain.master.port:9999}"
security-realm="ManagementRealm"/>
</domain-controller>
Don't forget to add the the security-realm attribute otherwise you will get messages like:
[Host Controller] 16:26:06,454 ERROR [org.jboss.remoting.remote.connection] (Rem
oting "host1:MANAGEMENT" read-1) JBREM000200: Remote connection failed: javax.se
curity.sasl.SaslException: Authentication failed: all available authentication m
echanisms failed
[Host Controller] 16:26:06,469 ERROR [org.jboss.as.host.controller] (Controller
Boot Thread) JBAS010901: Could not connect to master. Aborting. Error was: java.
lang.IllegalStateException: JBAS010942: Unable to connect due to authentication
failure.
d) Start up the node
domain.bat -b 192.168.0.25 -bmanagment 192.168.0.25
3) Configure Node 2
Configure as above, setting <host name="node2" and <secret value="bm9kZTJpZA=="4) Configure Node 3
Configure as above, setting <host name="node3" and <secret value="bm9kZTNpZA=="Testing
If everything is working, then open a browser and navigate to: http://192.168.0.24:9990/console using root/password when prompted. On the left hand side, there should be a list of nodes.
really very useful information. Appreciate.
ReplyDeleteThank you so much. you are great.
Thanks
Jonnadula Nanaji
Nice Blog,
ReplyDeleteI have a question about secret value, where is located this secret value in file ?
...
</security-realm
Can we find manually after created the user please ??
Asif Ali,
asifali.telecom@gmail.com