JBOSS EAP 6 系列五 Managed domains 管理域最主要的功能是“统一部署,统一配置”
摘要
本文首先介绍Managed Domain的概念,管理域最主要的功能是“统一部署,统一配置”。接下来通过一个实例在“统一配置”部分实现一个双机配置起来的域,最后在“统一部署”部分,我们将一个war包部署到域组的所有成员当中并测试部署效果。
一、 Managed domains的概念
管理域组织各物理机上的虚拟服务为服务组,使得所有服务器在一个地方统一配置、统一部署。配置为同一服务组内的机器可以自动扩展,也可以在一台主机上根据不同的端口绑定来设置多个实例。Managed Domain要区别与Cluster,Cluster的主要功能是负载均衡、容灾,而Managed domain的目的主要在于统一管理。
二、Managed domains的统一配置
2.1 实验原理
此配置的主要内容是6台虚拟机,分别在两台物理主机上。两台主机分别取名为Master(192.168.0.115)和Server2(192.168.0.116)。由Master来负责整个Domain的统一配置和统一部署。
2.2 创建用户
2.2.1 创建domain管理用户admin
2.2.2 创建lishehe接入master的用户lishehe
2.3 配置接入权限给lishehe
进入主机lishehe,编辑$JBOSS_HOME/domain/configuration/host.xml,添加粗体部分,
<span style="font-size:18px;"><?xml version='1.0' encoding='UTF-8'?>
<host <strong>name="server2"</strong> xmlns="urn:jboss:domain:1.5">
<management>
<security-realms>
<security-realm name="ManagementRealm">
<strong><server-identities>
<secret value="IWxpc2hlaGUxMjM0NTY="/>
</server-identities></strong> </span>
2.4 指明domain控制器
server2的host.xml的<management>标签后加入<domain-controller>标签,如下,
<span style="font-size:18px;"><domain-controller>
<!-- Alternative remote domain controller configuration with a host and port -->
<remote host="<strong>192.168.*.*</strong>" port="<strong>9999</strong>" security-realm="<strong>ManagementRealm</strong>"/>
</domain-controller> </span>
remote标签中的host属性指明master的IP,9999端口是默认的native-interface指向的端口,security-realm指明上一节2.3中的名称ManagementRealm。
2.5 设置对外访问IP
配置Master的host.xml,找到interfaces标签,将其中的127.0.0.1修改为本机IP(192.168.0.115),使得外界能够访问到jboss在本机上的服务。
<span style="font-size:18px;"><interfaces>
<interface name="management">
<inet-address value="${jboss.bind.address.management:192.168.0.115}"/>
</interface>
<interface name="public">
<inet-address value="${jboss.bind.address:192.168.0.115}"/>
</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:192.168.0.115}"/>
</interface>
</interfaces></span>
配置Server2的host.xml,找到interfaces标签,将其中的127.0.0.1修改为本机IP(192.168.0.116),使得外界能够访问到jboss在本机上的服务。
<span style="font-size:18px;"><interfaces>
<interface name="management">
<inet-address value="${jboss.bind.address.management:192.168.0.116}"/>
</interface>
<interface name="public">
<inet-address value="${jboss.bind.address:192.168.0.116}"/>
</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:192.168.0.116}"/>
</interface>
</interfaces></span>
2.6 设置管理组
配置Master的host.xml,找到servers标签,做如下修改。
<span style="font-size:18px;"><servers>
<!-- server name="server-one" group="main-server-group" -->
<server name="server-one" group="other-server-group">
<!-- Remote JPDA debugging for a specific server
<jvm name="default">
<jvm-options>
<option value="-agentlib:jdwp=transport=dt_socket,address=8787,server=y,suspend=n"/>
</jvm-options>
</jvm>
-->
</server>
<server name="server-two" group="other-server-group" auto-start="true">
<!-- 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>
<server name="server-three" group="other-server-group" auto-start="true">
<!-- server-three avoids port conflicts by incrementing the ports in
the default socket-group declared in the server-group -->
<socket-bindings port-offset="250"/>
</server>
</servers> </span>
可以看到其中有三个<server>标签,每一个都对应一台虚拟机,每个<server>标签中又都有一个group用来设置管理组。名字相同的虚拟机由域中的一个管理组统一管理,统一部署。如上,我们设置server-one为一个管理组main-server-group,server-two和server-three属于同一个管理组other-server-group。
配置server2的domain.xml,找到servers标签,做如下修改。
<span style="font-size:18px;"><span style="font-size:12px;"> <servers>
<server name="server-four" group="main-server-group">
<!-- Remote JPDA debugging for a specific server
<jvm name="default">
<jvm-options>
<option value="-agentlib:jdwp=transport=dt_socket,address=8787,server=y,suspend=n"/>
</jvm-options>
</jvm>
-->
</server>
<server name="server-five" group="main-server-group" auto-start="true">
<!-- 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>
<server name="server-six" group="other-server-group" auto-start="true">
<!-- server-three avoids port conflicts by incrementing the ports in
the default socket-group declared in the server-group -->
<socket-bindings port-offset="250"/>
</server>
</servers></span> </span>
从配置中可以看出,server2中也配置了3台虚拟机,server-four、server-five与master的server-one同属于main-server-group管理组。而server-six和server-two、server-three同属于一个管理组other-server-group。
*注:socket-bindings port-offset指明的是端口偏移量,如<socket-bindings port-offset="150"/>则该虚拟机上的所有端口在统一偏移150,如8080为默认的http访问端口,则偏移过后访问端口为:8080+150 = 8230,后面3.4测试的时候我们会看到。
2.7 启动
跟名或者删除server2中$JBOSS_HOME/domain/configuration中的domain.xml文件
分别在master和server2的$JBOSS_HOME/bin中使用domain.sh启动jboss:
启动后能从master的console中看到如下日志表明成功启动各个虚拟机,
同时如果server2启动好之后,master的log中会出现一条记录如下:
<span style="font-size:18px;">[Host Controller] 04:29:46,373 INFO [org.jboss.as.domain] (slave-request-threads - 1) JBAS010918: Registered remote slave host "server2", JBoss EAP 6.2.0.GA (AS 7.3.0.Final-redhat-14) </span>
2.8 统一配置
有了如上的2.1到2.7的步骤,一个包含两台物理机,6台虚拟机的Managed Domain就配置好了。这一小节主要介绍统一配置。整个域统一配置的地方在master的$JBOSS_HOME/domain/configuration/domain.xml文件中。
我们倒着往上看domain.xml这个文件:
<server-groups>用于配置管理组各组对应的主要配置profile。
<span style="font-size:18px;"> <server-groups>
<server-group name="main-server-group" profile="full">
<jvm name="default">
<heap size="1303m" max-size="1303m"/>
<permgen max-size="256m"/>
</jvm>
<socket-binding-group ref="full-sockets"/>
</server-group>
<server-group name="other-server-group" profile="full-ha">
<jvm name="default">
<heap size="64m" max-size="512m"/>
<permgen max-size="124m"/>
</jvm>
<socket-binding-group ref="full-ha-sockets"/>
</server-group>
</server-groups> </span>
如上main-server-gourp配置的profile为full,other-server-group配置的profile为full-ha。<server-group>中有两个配置项,<jvm>为每组指明其中的虚拟机的jvm配置信息。<socket-binding-group>指明各组的默认访问端口main-server-group使用full-sockets,other-server-group使用full-ha-sockets。
再往上是</socket-binding-groups>,其中可以有多个<socket-binding-group>标签,指明访问端口。
<span style="font-size:18px;"> <socket-binding-group name="full-ha-sockets" default-interface="public">
<socket-binding name="ajp" port="8009"/>
<socket-binding name="http" port="8080"/>
<socket-binding name="https" port="8443"/>
<socket-binding name="jacorb" interface="unsecure" port="3528"/>
<socket-binding name="jacorb-ssl" interface="unsecure" port="3529"/>
<socket-binding name="jgroups-mping" port="0" multicast-address="${jboss.default.multicast.address:192.168.0.110}" multicast-port="10001"/>
<socket-binding name="jgroups-tcp" port="7600"/>
<socket-binding name="jgroups-tcp-fd" port="57600"/>
<socket-binding name="jgroups-udp" port="55200" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45688"/>
<socket-binding name="jgroups-udp-fd" port="54200"/>
<socket-binding name="messaging" port="5445"/>
<socket-binding name="messaging-group" port="0" multicast-address="${jboss.messaging.group.address:231.7.7.7}" multicast-port="${jboss.messaging.group.port:9876}"/>
<socket-binding name="messaging-throughput" port="5455"/>
<socket-binding name="modcluster" port="0" multicast-address="224.0.1.105" multicast-port="23364"/>
<socket-binding name="remoting" port="4447"/>
<socket-binding name="txn-recovery-environment" port="4712"/>
<socket-binding name="txn-status-manager" port="4713"/>
<outbound-socket-binding name="mail-smtp">
<remote-destination host="localhost" port="25"/>
</outbound-socket-binding>
</socket-binding-group> </span>
其中default-interface用于指明虚拟机IP,这在2.5中有设置。
再往上是<interfaces>这个在host.xml中各自单独设置。
再往上是<profiles>标签,用于具体组件的申明和配置。配制方法与单机的standalone.xml一样,在此就不过多赘述。到此为止整个域就基本配置好了。进入下一博客查看统一部署部分,介绍查看Managed Domain以及统一部署实验。
JBOSS EAP 6 系列五 Managed domains 管理域最主要的功能是“统一部署,统一配置”的更多相关文章
- JBOSS EAP 6 系列一 新特性
在项目中,采用的架构是Springmvc+spring+EJB+Jpa等架构,当然服务器是Jboss,本次Jboss我们采用的是JBossEap6.2,Jboss7的新特性与Jboss4.5的大的改变 ...
- JBOSS EAP 6 系列六 公共模块的jar配置到jboss的modules详细配置
公司项目中遇到并要解决的问题 1:原则上除了自己写的代码之外,公共的jar不应该都在打包的时候打包到ear里面,这样的话包太大,也不符合的分层的逻辑,在jboss容器内部,每个ear的包重复jar都会 ...
- JBOSS EAP 6 系列四 EJB实现——调用(贯穿始终的模块)
本文主要介绍在JBOSS EAP 6.2(或者JBOSS AS7)中模块是如何贯穿EJB实现的始终.延续上一博文<认识模块的使用>的话题继续聊JBOSS做为模块申明式容器的这一特性在EJB ...
- JBOSS EAP 6 系列三 Oracle、Mysql数据源的配置(驱动)—认识模块的使用
本文介绍JBOSS EAP 6.2中Oracle数据源的配置方式.结合之前JBOSS EAP 6.2新功能,本文初识JBOSS模块申明式容器这一特性. 模块申明式容器:JBOSS EAP不再有lib的 ...
- Git系列五之分支管理
1.Git分支管理 分支即是平行空间,假设你在为某个手机系统研发拍照功能,代码已经完成了80%,但如果将这不完整的代码直接提交到git仓库中,又有可能影响到其他人的工作,此时我们便可以在该软件的项目之 ...
- Oracle Coherence应用部署到Jboss EAP 6.x 时 NoClassDefFoundError: sun/rmi/server/MarshalOutputStream 的解决办法
今天将一个web应用从weblogic 10.3迁移到jboss EAP 6.3上,该应用使用oracle coherence做为缓存,部署上去后,启动时一直报如下错误: at java.ut ...
- jboss eap 6.3 域(Domain)模式配置
jboss提供了二种运行模式:standalone(独立运行模式).domain(域模式),日常开发中,使用standalone模式足已:但生产部署时,一个app,往往是部署在jboss集群环境中的, ...
- vmware安装cent os 6.5 + oracle 11g xe + jboss eap 6.2 + weblogic 12c+ webshpere mq 7.5
前言: mac系统发展速度确实很快,短短数年,mac os上已经能网银支付(中行.招行.工商.支付宝等均已全面支持mac os了),windows上的经典常用软件:qq.飞信.旺旺.有道词典.有道云笔 ...
- JBoss EAP应用服务器部署方法和JBoss 开发JMS消息服务小例子
一.download JBoss-EAP-6.2.0GA: http://jbossas.jboss.org/downloads JBoss Enterprise Application Platfo ...
随机推荐
- 【转】Apache服务器安全配置
源URL:http://foreversong.cn/archives/789 偶然下载了今年ISC大会360应急响应中心的一个ppt,在最后有个攻防领域专家注册考试目录,其中有很大一块就是中间件的安 ...
- [BZOJ 5055]膜法师
Description 在经历过1e9次大型战争后的宇宙中现在还剩下n个完美维度, 现在来自多元宇宙的膜法师,想偷取其中的三个维度为伟大的长者续秒, 显然,他能为长者所续的时间,为这三个维度上能量的乘 ...
- [POJ 2104]K-th Number【模板】(主席树)
题目背景 这是个非常经典的主席树入门题——静态区间第K小 数据已经过加强,请使用主席树.同时请注意常数优化 题目描述 如题,给定N个正整数构成的序列,将对于指定的闭区间查询其区间内的第K小值. 输入输 ...
- 计蒜客NOIP模拟赛(2) D2T1 劫富济贫
[问题描述] 吕弗·普自小从英国长大,受到骑士精神的影响,吕弗·普的梦想便是成为一位劫富济贫的骑士. 吕弗·普拿到了一份全国富豪的名单(不在名单上的都是穷人),上面写着所有富豪的名字以及他们的总资产, ...
- hdu 5505(GT and numbers)
题意: 给你a和b,a每次和它的因子相乘得到一个新的a,求多少次后可以得到b. 输入样例 3 1 1 1 2 2 4 输出样例 0 -1 1 思路: 每次找出a和b/a的最大公约数(即当前a想得到b能 ...
- [ Java学习基础 ] Java的继承与多态
看到自己写的东西(4.22的随笔[ Java学习基础 ] Java构造函数)第一次达到阅读100+的成就还是挺欣慰的,感谢大家的支持!希望以后能继续和大家共同学习,共同努力,一起进步!共勉! ---- ...
- C语言程序设计第六次作业--循环结构2
(一)改错题 序列求和:输入一个正实数eps,计算序列部分和 1 - 1/4 + 1/7 - 1/10 + ... ,精确到最后一项的绝对值小于eps(保留6位小数). 输入输出样例: Input e ...
- 对于DFT频谱泄漏问题的研究
问题简介: 对于频率为fs的正弦序列,它的频谱应该只是在fs处有离散谱.但是,在实际利用DFT求它的频谱时,对时域做了截断,结果使信号的频谱不只是在fs处有离散谱,而是在以fs为中心的频带范围内都有谱 ...
- idea+jsp+jstl c标签页面异常
先在Schema and DTDs配置C.tld文件 最后提示是少包 网上很多方法都说少jstl.jar 折腾了很久 其实还少standard.jar 以前的解决方法(看下面) 把这两个包分别加到项目 ...
- css3部分整理
1.css弹性盒子属性 父级元素属性的设置 #father{ width: 800px; height: 300px; background-color: darkgray; /*定义父级元素为弹性元 ...