​JBOSS集群

发布时间:2018-10-26编辑:宋安阅读(767)

    JBOSS集群

    JBOSS集群一定用的是domain模式来去运行的,即$JBOSS_HOME/bin/domain.sh来运行的

    master server

    vim domain/configuration/host.xml

    将所有127.0.0.1的地址

    换成master server对应的真实IP(否则,无法从远程通过浏览器,访问jboss 管理控制台)

    保存退出

     

    修改/etc/profile文件,配置环境变量

    EAP_HOME=/DATA/jboss-eap-6.4.0      export EAP_HOME


    配置生效:source etc/profile

    echo $EAP_HOME

    进入master jboss 控制台

    domain模式启动$JBOSS_HOME/bin/domain.sh

    http://ip:9990/console/

    首次进入,可能会提示没有创建管理员帐号,创建管理员

    步骤如下:

    先回到jboss 中,运行 $JBOSS_HOME/bin/add-user.sh 

    如图:

    undefined

     

    后面一路yes+回车即可,最后有一个加密字符串(QW1iLDEyMzQ=),最好记下来,因在slave 添加到master 的时候需要这个加密字符串

     

     

     

    创建groupserver

    进入控制台后,可以看到jboss已经默认创建了一些groupserver,先把他们全干掉吧(通常,我们会创建自己的group/server)

     

     

    创建group时,profile选择full-ha (jboss集群配置,负载均衡、智能容错时,需要使用ha系列的profile)

     

     

    master server上创建1server

     

     

    注:创建server时,有一个Port Offset选项(参考下图)

     

    解释一下,默认情况下server的端口是8080Port Offset指端口偏移量,如果按上图配置,Port Offset指定为n,则表示该server创建后,

    对应的端口为8080+n,即808n端口 (可以用http://ip:808n 来访问)

     

    Slave Server

    进入$JBOSS_HOME \domain\configuration

    将原来的host.xml改名备份,然后再将host-slave.xml复制一份,并改名为host.xml

     

    修改host.xml

    <management-interfaces> <native-interface security-realm="ManagementRealm">     <socket interface="management" port="${jboss.management.native.port:9999}"/> </native-interface></management-interfaces>


     

    这里的9999端口,改成其它不使用的端口(比如:9099),否则slave server上的9999端口,与master server上的管理端口冲突,最后启动时,会报错

     

    <domain-controller>  <remote host="${jboss.domain.master.address:xxx.xx.xxx.xxx}" port="${jboss.domain.master.port:9999}" security-realm="ManagementRealm"/></domain-controller>


    从这边可以看到slave中有一个<domain-controller>段,在这个段内所指向的 ManagementRealmIP与端口必须是它的masterMaster主机中host.xml文件中的ManagementReal所设的IPPORT

    <interfaces> <interface name="management">     <inet-address value="${jboss.bind.address.management:0.0.0.0}"/> </interface> <interface name="public">    <inet-address value="${jboss.bind.address:0.0.0.0}"/> </interface> <interface name="unsecure">     <!-- Used for IIOP sockets in the standard configuration.          To secure JacORB you need to setup SSL -->     <inet-address value="${jboss.bind.address.unsecure:0.0.0.0}"/> </interface></interfaces>


    原来的127.0.0.1,改成slave server的真实IP0.0.0.0,否则slave上的应用,只能在slave本机访问


    注意host.xml文件中的头部信息

     

    <?xml version='1.0' encoding='UTF-8'?> <host name="slave1" xmlns="urn:jboss:domain:1.7">


     

    不要忘了把<host后加入一个”name”,这边的name很重要!!!

     

    BOSS集群有一个很重要的步骤,即:


    加入每个MASTERSLAVE,是以JBOSS中的用户名和密码来认证的,即每个SLAVE要加入MasterMaster必须允许。


    因此,此处的host name=“”就是SLAVE 用户名,那么密码呢?

     

    请在JBOSS MASTER所在的目录中运行add-user.sh命令,然后建一个用户名,这个用户名必须是 slavehost.xml  host标签后的name ,另外,在建完用户后把该用户的密码(显示为MD5值)记下,然后在slave所在的host.xml文件中把密码设进去,按照如下例子:

     

     

    因为JBOSS是以GROUP的概念来管理它的集群的

     

    所以我们需要把我们的80808081这两台主机加入到一个GROUP中去。

    slavehost.xml文件中增加入下内容

     

    <servers>     <server name="slave1" group="APS-server-group-1" auto-start="true">            <socket-bindings socket-binding-group="full-ha" port-offset="1"/>     </server><servers>


    它的意思是将 slave1 这个服务添加到 APS-server-group-1 这个组里面,由这个组来管理

     

    APS-server-group-1 为在master 控制台创建的组名

     

     

     

     

     

    全部配完后分别使用命令把masterslave启动起来。


    启动后我们打开主控端的WEB管理界面http://masterIP :9990,可以看到如下网络拓扑结构。

     



标签jbosslinux集群