jboss提供了二种运行模式:standalone(独立运行模式)、domain(域模式),日常开发中,使用standalone模式足已;但生产部署时,一个app,往往是部署在jboss集群环境中的,如果所有jboss server均采用standalone模式,会给运维带来极大的工作量,需要每台jboss server上逐一部署/更新,显然不适合。
domain模式正是为了解决这一问题,该模式下,所有jboss server可以划分成不同的group(注:这里的jboss server并不一定要对应某台物理机或虚拟机,一个os上,可以同时run多个jboss server实例,所以本文中的jboss server均指某个运行中的jboss server instance),每个group中可以包含多个jboss server,所有这些jboss server中,可以指定一台做为域控制器(domain controller),俗称master server,其它jboss server均为Home Controller(俗称slave server)。
master上可以控制所有jboss server,并监控其运行情况,部署应用时,一个war包,只需要部署到group上,该group中的所有jboss server即会同步自动部署。
下面是配置步骤:
环境:
windows ,jboss eap 6.3
机器资源:
172.21.129.181 (master)、172.21.129.57(slave57)、172.21.129.128(slave128) - 即:181为主机,57、128这二台机器为slave
一、下载安装jboss eap 6.3
目前jboss eap的最新版本是6.3 ,下载地址 https://www.jboss.org/products/eap/download/
下载完成后,解压到某个目录即可 (下面用jboss_home代替jboss根目录)
二、master server配置
2.1 进入 "jboss_home\domain\configuration",打开host.xml
将所有127.0.0.1的地址,换成master server对应的真实IP(否则,无法从远程通过浏览器,访问jboss 管理控制台)
2.2 以domain模式启动master server
jboss_home\bin\domain.bat
2.3 进入master jboss 控制台
http://172.21.129.181:9990/console/
首次进入,可能会提示没有创建管理员帐号,可参考 vmware安装cent os 6.5 + oracle 11g xe + jboss eap 6.2 + weblogic 12c+ webshpere mq 7.5 一文中的 3.4 c)中的相关内容,创建管理员
2.4 创建group、server
进入控制台后,可以看到jboss已经默认创建了一些group及server,先把他们全干掉吧(通常,我们会创建自己的group/server)
参考下面这个界面,创建二个组 my-group-1,my-group-2
tips: 创建group时,profile建议选择full-ha (以后会讲如何做jboss集群配置,负载均衡、智能容错时,需要使用full-ha profile)
参考下面的图,在master server上创建4个server
注:创建server时,有一个Port Offset选项(参考下图)
解释一下,默认情况下server的端口是8080,Port Offset指端口偏移量,如果按上图配置,Port Offset指定为5,则表示该server创建后,对应的端口为8080+5,即8085端口 (可以用http://172.21.129.181:8085/ 来访问)
tips: 如果一个server已经处于started状态,是无法remove的,可以先到下面的界面,把该server stop掉,然后再回这个界面,就可以Remove了
三、Slave Server配置
3.1 将jboss eap 6.3解压到172.21.129.57这台slave机器上
3.2 进入jboss_home\domain\configuration,将原来的host.xml改名备份,然后再将host-slave.xml复制一份,并改名为host.xml
3.3 修改host.xml
a)
1 <management-interfaces> 2 <native-interface security-realm="ManagementRealm"> 3 <socket interface="management" port="${jboss.management.native.port:9099}"/> 4 </native-interface> 5 </management-interfaces>
这里的9999端口,改成其它不使用的端口(比如:9099),否则slave server上的9999端口,与master server上的管理端口冲突,最后启动时,会报错
b)
1 <domain-controller> 2 <remote host="${jboss.domain.master.address:172.21.129.181}" port="${jboss.domain.master.port:9999}" security-realm="ManagementRealm"/> 3 </domain-controller>
第2行,指定master server的IP(本文中为172.21.129.181),这样slave在启动时,才知道去连哪一台master
c)
1 <interfaces> 2 <interface name="management"> 3 <inet-address value="${jboss.bind.address.management:0.0.0.0}"/> 4 </interface> 5 <interface name="public"> 6 <inet-address value="${jboss.bind.address:0.0.0.0}"/> 7 </interface> 8 <interface name="unsecure"> 9 <!-- Used for IIOP sockets in the standard configuration. 10 To secure JacORB you need to setup SSL --> 11 <inet-address value="${jboss.bind.address.unsecure:0.0.0.0}"/> 12 </interface> 13 </interfaces>
原来的127.0.0.1,改成slave server的真实IP或0.0.0.0,否则slave上的应用,只能在slave本机访问
d)
1 <servers> 2 <server name="slave-server-8082" group="my-group-2"> 3 <socket-bindings port-offset="2"/> 4 </server> 5 <server name="slave-server-8083" group="my-group-2"> 6 <socket-bindings port-offset="3"/> 7 </server> 8 </servers>
手动在slave上创建二个server,并加入到my-group-2(注:group的值,必须是在master server上创建过的,否则启动时,slave上的server无法正常加入到master相关的group中)
e)
1 <host name="slave57" xmlns="urn:jboss:domain:1.6">
最开头的host节点上,加一个name="xxx"的属性(本文中为slave57),这个name值最终会显示在master server的jboss 控制台中,建议起一个容易识别的名称
四、安全认证配置
4.1 回到master server上,添加一个名为slave57的管理员帐号,并记住最后生成的<secret value="xxxx" />的字符串(xxx为密码经过base64处理后的内容)
4.2 回到slave57这台server中,再次编辑host.xml,将<secret value="xxxx" />的内容替换
1 <server-identities> 2 <!-- Replace this with either a base64 password of your own, or use a vault with a vault expression --> 3 <!--<secret value="c2xhdmVfdXNlcl9wYXNzd29yZA=="/>--> 4 <secret value="c2xhdmU1Ny4xMjM=" /> 5 </server-identities>
中的<secret value=... />部分
解释:slave启动时,需要连接注册到master的jboss中,连接过程需要安全认证,这里的secret相当于认证的钥匙,而认证的用户名即为:正在连接的slave机器上jboss中host.xml中<host name='xxx'>这个节点中的name值,所以4.1需要在master中创建一个名为“slave57”的管理员
4.3 依次以domain模式启动master、slave57 上的jboss
顺利的话,master的jboss控制台里,就能看到slave57已经自动注册进来了
另一台slave服务器,类似的做法,host.xml中<host>节点的name为slave128,创建的server为
1 <servers> 2 <server name="slave-server-8080" group="my-group-1"/> 3 <server name="slave-server-8081" group="my-group-1"> 4 <!-- server-two avoids port conflicts by incrementing the ports in 5 the default socket-group declared in the server-group --> 6 <socket-bindings port-offset="1"/> 7 </server> 8 </servers>
这样,我们就创建了8个jboss server实例(4个在master server上,另外4个分散在slave57、slave128上),共划分为2组。
五、应用部署
进入部署界面(如上图),点击Add,添加一个war包,再Assign,分配到某一个group,即可自动部署到该group下所有server。如果想把一个app,部署到多个group,也没问题,再次点击assign,再分配到另一个group。
以本文为例,部署了一个名为SSO的应用到my-group-1、my-group-2后,对应的8台jboss server应该均可访问,即:
http://172.21.129.181:8080/SSO/
http://172.21.129.181:8081/SSO/
http://172.21.129.181:8082/SSO/
http://172.21.129.181:8083/SSO/
http://172.21.129.57:8082/SSO/
http://172.21.129.57:8083/SSO/
http://172.21.129.128:8080/SSO/
http://172.21.129.128:8081/SSO/
这8个url均可访问
相关推荐
该文档是一份管理员配置指南,旨在帮助管理员进行JBoss EAP6.3的安装、配置和管理。 文档开始部分介绍了与文档相关的法律声明和版权信息,说明了文档的许可证为Creative Commons Attribution-ShareAlike 3.0 ...
5. **集群和高可用性**:JBoss EAP 6.3支持集群配置,允许多个服务器实例共享负载,提供故障转移和高可用性。通过HornetQ消息队列和Infinispan缓存,可以实现分布式服务和数据持久化。 6. **Web服务器集成**:内置...
- **配置文件**:如`standalone.xml`或`domain.xml`,用于定义服务器的配置参数,如端口、线程池大小等。 - **管理工具**:使用命令行接口或管理控制台进行服务器管理和监控。 5. **开发与调试**: - **EAP集成...
在 JEE6 容器中运行 Spring Batch 示例 spring 批处理项目允许您在 JBOSS EAP6.3 容器中运行批处理作业。宗旨在 jboss 容器内运行批处理作业。 部署到 JBOSS EAP6.3 利用容器使用 JPA 管理实体使用 Postgresql 数据...
【JBoss EAP 7.2.6 补丁包详解】 JBoss Enterprise Application Platform (EAP) 是 Red Hat 提供的一款开源中间件,用于构建、部署和管理企业级 Java 应用程序。JBoss EAP 7.2.6 版本是一个重要的更新,包含了多个...
JBoss EAP 6.4.0提供了两种运行模式:standalone(独立运行模式)和domain(域模式)。standalone模式适用于日常开发,而domain模式更适合生产环境,因为它简化了多服务器集群的管理。 在域模式下,所有的JBoss EAP...
根据提供的文件信息,以下是对“Jboss eap 6.1.0 应用平台配置管理文档”的知识点梳理。 ### 知识点一:JBoss Enterprise Application Platform 6.1概述 JBoss EAP(Enterprise Application Platform)6.1是Red Hat...
#### 五、配置JBoss EAP域模式 **步骤1:** 部署JBoss EAP Domain Server。进入`domain/configuration/host.xml`文件进行必要的配置修改。 ``` vim domain/configuration/host.xml ``` #### 六、构建JBoss EAP集群 ...
要解决jBoss EAP 6.2 或 AS 7 以上的乱码问题,可以通过修改服务器配置文件`standalone.xml`来实现。具体步骤如下: 1. **定位配置文件**: - 找到jBoss安装目录下的`configuration/standalone.xml`文件。 2. **...
【JBoss EAP 7.2.0:企业级应用平台详解】 JBoss EAP(Enterprise Application Platform)是Red Hat公司推出的一款开源、基于Java EE(现在称为Jakarta EE)的应用服务器,它为企业级应用程序提供了稳定、安全和可...
本文将详细介绍如何在 Linux 系统下搭建 JBoss EAP 集群,包括域模式下的配置及 mod_cluster 的集成,以实现负载均衡和高可用性。 #### 二、环境准备 在开始之前,需要确保以下条件已满足: 1. **操作系统**:本文...
本文主要介绍了如何配置和管理JBoss EAP 6.4,包括安装和部署FineReport、修改服务器端口、调整内存设置以及改变Web工程的根目录。 首先,我们需要下载并安装JBoss EAP 6.4。这可以通过访问Red Hat的官方网站完成,...
总的来说,远程调试JBoss AS7或EAP6涉及的主要步骤包括:配置服务器启动参数以开启调试模式,设置MyEclipse的远程调试配置,以及确保服务器状态正常。通过熟练掌握这一技能,开发者可以更高效地定位和解决问题,提升...
10. **监控与诊断**:JBoss EAP 6.4 提供了管理控制台和命令行接口,用于监控服务器状态、配置服务以及进行故障诊断。 11. **自动化部署**:支持通过 CLI 或管理控制台进行自动化部署,以及使用野蛮部署(hot ...
在使用JBoss EAP 6.2.0时,用户可以通过解压提供的“jboss-eap-6.2”压缩包文件来安装和配置服务器。这个压缩包内包含了完整的JBoss EAP 6.2.0安装文件,包括服务器二进制文件、配置文件、文档以及示例应用程序。...
在Windows平台上部署JBOSS EAP6涉及多个步骤,包括安装Java Development Kit (JDK),下载并解压JBOSS EAP6,配置环境变量,以及应用程序的部署和管理。以下将详细介绍这些步骤。 ### 1. JBoss EAP6安装与配置 ####...
**JBoss EAP 5.2.0:企业级应用平台的基石** JBoss EAP(Enterprise Application Platform),是Red Hat公司开发的一款基于Java EE(现在称为Jakarta EE)的应用服务器,它为开发者提供了一个全面的框架来构建、...
JBoss 企业级应用程序平台 5.0 安装指南
JBoss EAP 7.1.0 是一个企业级的应用服务器,由Red Hat开发并维护,它是Java EE(现在称为Jakarta EE)平台的一个实现。这个版本提供了多种服务和功能,用于构建、部署和管理企业级Java应用程序。下面将详细讨论...
jboss_EAP 部署在Window平台上