2014年8月9日星期六

EAP_020:配置EAP集群(Domain方式)

运行环境:JBoss EAP 6.3.0


1. Domain Controller (192.168.0.100)配置
(1)创建管理员账户
 ./add-user.sh 你要添加哪个类型?
 a) 管理型用户 (mgmt-users.properties)
 b) 应用型用户 (application-users.properties)
(a):

输入要添加的新用户的细节。
使用从现有属性文件发现的区 'ManagementRealm'。
用户名 : admin
用户名 'admin' 太容易猜测
你确定要添加用户 'admin' yes/no? yes
下面列出了对密码的要求。要修改这些限制,请编辑 add-user.properties 配置文件。
 - 密码不能为下列限制值之一 {root, admin, administrator}
 - 密码必须至少包含 8 字符, 1 个字母, 1 个数字, 1 非字母/数字字符
 - 密码必须和用户名不同。
密码 :
重新输入密码 :
你希望这个用户属于哪些组?(请输入一个用逗号隔开的列表,或者留空表示没有)[  ]:
将要添加域 'admin' 的用户 'ManagementRealm'
这是正确的吗?  yes/No? yes
添加用户 'admin' 至 '/Users/maping/Redhat/Eap/jboss-eap-6.3-domain-cluster/standalone/configuration/mgmt-users.properties'
添加用户 'admin' 至 '/Users/maping/Redhat/Eap/jboss-eap-6.3-domain-cluster/domain/configuration/mgmt-users.properties'
添加属于组 admin 的用户 '' 到文件 '/Users/maping/Redhat/Eap/jboss-eap-6.3-domain-cluster/standalone/configuration/mgmt-groups.properties'
添加属于组 admin 的用户 '' 到文件 '/Users/maping/Redhat/Eap/jboss-eap-6.3-domain-cluster/domain/configuration/mgmt-groups.properties'
这个新用户将用于 AS 进程来连接另外一个 AS 进程(如从域控制器)?
 例如,用于连接到主控制器的从主机控制器、用于服务器和服务器间的 EJB 调用的远程连接。
yes/no? yes
要表示这个用户,在 server-identities 定义 <secret value="d2VsY29tZUAx" /> 里添加下列内容。

(2)修改domain.xml,替换server-groups部分如下:
 <server-groups>
        <server-group name="cluster-ha" profile="ha">
            <jvm name="default"/>
            <socket-binding-group ref="ha-sockets" />
        </server-group>
 </server-groups>

(3)启动Domain Controller
./domain.sh --host-config=host-master.xml -b 192.168.0.100 -bmanagement=192.168.0.100

2. Host Controller (192.168.0.105)配置
(1)修改host-slave.xml,设定host name为host1
 <host name="host1" xmlns="urn:jboss:domain:1.6">

(2)修改host-slave.xml,在domain-controller的remote中增加一个属性:username
<remote host="${jboss.domain.master.address}" port="${jboss.domain.master.port:9999}" username=“admin” security-realm="ManagementRealm"/>

(3)修改host-slave.xml,替换secret的value为admin的加密口令
<security-realms>
            <security-realm name="ManagementRealm">
                <server-identities>
                     <!-- Replace this with either a base64 password of your own, or use a vault with a vault expression -->
                     <secret value="d2VsY29tZUAx"/>
                </server-identities>

                <authentication>
                    <local default-user="$local" skip-group-loading="true"/>
                    <properties path="mgmt-users.properties" relative-to="jboss.domain.config.dir"/>
                </authentication>
                <authorization map-groups-to-roles="false">
                    <properties path="mgmt-groups.properties" relative-to="jboss.domain.config.dir"/>
                </authorization>
</security-realm>

(4)修改host-slave.xml,替换servers部分如下:
<servers>
        <server name="server-one" group="cluster-ha"/>
        <server name="server-two" group="cluster-ha">
            <!-- server-two avoids port conflicts by incrementing the ports in
                 the default socket-group declared in the server-group -->
            <socket-bindings port-offset="150"/>
        </server>
</servers>

(5)启动Host1
./domain.sh --host-config=host-slave.xml -Djboss.domain.master.address=192.168.0.100 -Djboss.bind.address=192.168.0.105 -Djboss.bind.address.management=192.168.0.105

3. Host Controller (192.168.0.107)配置
(1)修改host-slave.xml,设定host name为host2
 <host name="host2" xmlns="urn:jboss:domain:1.6">
(2)(3)(4)与第2步中的(2)(3)(4)相同。
(5)启动Host2
./domain.sh --host-config=host-slave.xml -Djboss.domain.master.address=192.168.0.100 -Djboss.bind.address=192.168.0.107 -Djboss.bind.address.management=192.168.0.107

4. 验证集群配置成功
(1)在Domain Controller中的日志中,看到如下信息:
[Host Controller] 16:23:44,594 INFO  [org.jboss.as.domain] (Host Controller Service Threads - 18) JBAS010918: 已注册的远程从主机 "host1", JBoss EAP 6.3.0.GA (AS 7.4.0.Final-redhat-19)
[Host Controller] 16:25:39,032 INFO  [org.jboss.as.domain] (Host Controller Service Threads - 30) JBAS010918: 已注册的远程从主机 "host2", JBoss EAP 6.3.0.GA (AS 7.4.0.Final-redhat-19)
(2)访问 http://192.168.0.100:9990/console,来回切换Host,能够分别看到主机master、主机host1、主机host2中的server信息。

参考文献:
1. http://blog.akquinet.de/2012/06/29/managing-cluster-nodes-in-domain-mode-of-jboss-as-7-eap-6/
2. http://www.jbossauthority.com/jboss-tutorial-jboss-clustered-server/

没有评论: