初学习Jboss Datagrid的时候,将一些概念搞混了,然后误打误撞了解了jboss eap domain模式。
jboss提供了二种运行模式:standalone(独立运行模式)、domain(域模式),日常开发中,使用standalone模式足已;但生产部署时,一个app,往往是部署在jboss集群环境中的,如果所有jboss server均采用standalone模式,会给运维带来极大的工作量,需要每台jboss server上逐一部署/更新,显然不适合。而domain模式就是为了解决这一问题。该模式下,所有jboss server可以划分成不同的group,每个group中可以包含多个jboss server,所有这些jboss server中可以指定一台做为域控制器(domain controller),俗称master server,其它jboss server均为slave server。
※这里的jboss server,均指某个运行中的jboss server instance
一台物理机或者虚拟机称之为host controller,选取其中的一台机器作为domain controller,这样就可以管理其他的host controller,而host controller分别管理各自上的server instance。
为了理清这些概念,做如下测试
一.环境准备(操作系统是windows还是linux是没有影响的,这里因为只有一台windows机器,所以准备了一台可以与之通信的linux机器)
※这里操作系统的类型没有任何影响,只是恰巧而已。
二.什么也不做,启动服务,查看默认配置
1.启动服务
domain.bat
2.创建管理者(adminstrator-user)
add-user.bat
3.访问控制台
http://127.0.0.1:9990
通过这个URL,也不一定能访问到控制台,为了一定能访问到,最好将下面这一段,改成本机的真是Ip
http://ip:9990
host.xml
………
<interfaces>
<interface name="management">
<inet-address value="${jboss.bind.address.management:10.0.210.135}"/>
</interface>
<interface name="public">
<inet-address value="${jboss.bind.address:10.0.210.135}"/>
</interface>
</interfaces>
………
4.从控制台中可以看到有一些默认的内容。
为什么访问控制台,会有那么多默认信息,原因是如下设定产生的
1)domain.xml
………
<server-groups>
<server-group name="main-server-group" profile="full">
<jvm name="default">
<heap size="1000m" max-size="1000m"/>
</jvm>
<socket-binding-group ref="full-sockets"/>
</server-group>
<server-group name="other-server-group" profile="full-ha">
<jvm name="default">
<heap size="1000m" max-size="1000m"/>
</jvm>
<socket-binding-group ref="full-ha-sockets"/>
</server-group>
</server-groups>
………
2)host.xml
<host name="master" xmlns="urn:jboss:domain:4.1">
………
<servers>
<server name="server-one" group="main-server-group">
</server>
<server name="server-two" group="main-server-group" auto-start="true">
<socket-bindings port-offset="150"/>
</server>
<server name="server-three" group="other-server-group" auto-start="false">
<socket-bindings port-offset="250"/>
</server>
</servers>
………
</host>
※定义port -offset的时候一定不能定义重复的偏移量,它是相对于8080偏移的。
5.根据上面的默认配置,测试
server-one
http://10.0.210.135:8080
server-two
http://10.0.210.135:8230/
6.看完默认配置,试着在master group里创建一台server
这一步完成之后,host.xml里的servers节点下会自动多出来如下配置。
<server name="server-test1" group="main-server-group" auto-start="true">
<socket-bindings socket-binding-group="full-sockets" port-offset="1"/>
</server>
这样完成之后,windows里就多出来了一个server-test1,并且访问下面的URL可以正常显示
http://10.0.210.135:8081/
7.如何去管理别的一台机器上的服务,比如在slave中一般这样定义:
<domain-controller>
<!-- Alternative remote domain controller configuration with a host and port -->
<remote protocol="remote" host="${jboss.domain.master.address:10.0.210.135}" port="${jboss.domain.master.port:9999}" security-realm="ManagementRealm"/>
</domain-controller>
第3行,指定master server的IP(本文中为10.0.210.135),这样slave在启动时,才知道去连哪一台master 。
而master Server中这一段,他是这样定义的:
<domain-controller>
<local/>
</domain-controller>
8.其他注意事项
<management-interfaces>
<native-interface security-realm="ManagementRealm">
<socket interface="management" port="${jboss.management.native.port:9099}"/>
</native-interface>
<http-interface security-realm="ManagementRealm" http-upgrade-enabled="true">
<socket interface="management" port="${jboss.management.http.port:9001}"/>
</http-interface>
</management-interfaces>
这里的9999端口,改成其它不使用的端口(比如:9099),否则slave server上的9999端口,与master server上的管理端口冲突,最后启动时,会报错
<interfaces>
<interface name="management">
<inet-address value="${jboss.bind.address.management:192.168.100.25}"/>
</interface>
<interface name="public">
<inet-address value="${jboss.bind.address:192.168.100.25}"/>
</interface>
</interfaces>
原来的127.0.0.1,改成slave server的真实IP或0.0.0.0,否则slave上的应用,只能在slave本机访问
<host xmlns="urn:jboss:domain:4.1" name="slave192">
最开头的host节点上,加一个name="xxx"的属性(本文中为slave57),这个name值最终会显示在master server的jboss 控制台中,建议起一个容易识别的名称
回到master server上,添加一个名为slave192的管理员帐号,并记住最后生成的<secret value="xxxx" />的字符串(xxx为密码经过base64处理后的内容)
<secret value="MXEydzNlNHIhQA=="/>
回到slave192这台server中,再次编辑host.xml
<security-realm name="ManagementRealm">
<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>
<server-identities>
<!-- Replace this with either a base64 password of your own, or use a vault with a vault expression -->
<secret value="MXEydzNlNHIhQA=="/>
</server-identities>
</security-realm>
slave启动时,需要连接注册到master的jboss中,连接过程需要安全认证,这里的secret相当于认证的钥匙,而认证的用户名即为:正在连接的slave机器上jboss中host.xml中<host
name='xxx'>这个节点中的name值,所以4.1需要在master中创建一个名为“slave192”的管理员
9.最后,启动Linux里的jboss,这样就可以在上面的控制台里看到slave192这个host
这里除了通过控制台,管理各个服务,还可以通过cli去控制。
启动jboss-cli.bat
执行命令(native-interface)
connect 10.0.210.135:9999
执行对服务器管理的各种命令,
ls /host=master/server-config=server-test1
ls /host=slave192/server-config=server-slave1
。。。。。
备注
有人可能会有疑问,通过Master去管理slave,那原来slave自己的一些管理画面还可以访问吗?答案是否定的。
connect 192.168.100.25:9099
The controller is not available at 192.168.100.25:9099: java.net.ConnectException: WFLYPRT0053: http-remoting://192.168.100.25:9099连接不成功,连接失败。
: WFLYPRT0053: http-remoting://192.168.100.25:9099 连接不成功,连接失败: XNIO000812: Connection closed unexpectedly
访问控制页面:
http://192.168.100.25:9001
You may not access the admin console on this node, all access must come via the master host controller.
参考:http://www.cnblogs.com/yjmyzz/p/jboss-eap-mod-cluster.html
相关推荐
基于 JBoss DataGrid 和 EAP 产品的演示展示了如何使用 JBoss DataGrid 的 MapReduce 实现创建分布式大数据处理应用程序。 设置和配置 有关此项目的详细信息,请参阅 docs 目录。 对于那些迫不及待的人,请参阅...
JBoss BRMS HA 复杂事件处理演示 这是一个演示应用程序,演示了使用 JBoss ... Infinispan/JBoss DataGrid 缓存:该组件嵌入在 CEP 节点内(即 Infinispan 用于复制模式),用于存储规则触发时由 CEP 引擎发出的命令。
内容概要:本文档《数据结构》(02331)第一章主要介绍数据结构的基础概念,涵盖数据与数据元素的定义及其特性,详细阐述了数据结构的三大要素:逻辑结构、存储结构和数据运算。逻辑结构分为线性结构(如线性表、栈、队列)、树形结构(涉及根节点、父节点、子节点等术语)和其他结构。存储结构对比了顺序存储和链式存储的特点,包括访问方式、插入删除操作的时间复杂度以及空间分配方式,并介绍了索引存储和散列存储的概念。最后讲解了抽象数据类型(ADT)的定义及其组成部分,并探讨了算法分析中的时间复杂度计算方法。 适合人群:计算机相关专业学生或初学者,对数据结构有一定兴趣并希望系统学习其基础知识的人群。 使用场景及目标:①理解数据结构的基本概念,掌握逻辑结构和存储结构的区别与联系;②熟悉不同存储方式的特点及应用场景;③学会分析简单算法的时间复杂度,为后续深入学习打下坚实基础。 阅读建议:本章节内容较为理论化,建议结合实际案例进行理解,尤其是对于逻辑结构和存储结构的理解要深入到具体的应用场景中,同时可以尝试编写一些简单的程序来加深对抽象数据类型的认识。
内容概要:本文详细介绍了施耐德M580系列PLC的存储结构、系统硬件架构、上电写入程序及CPU冗余特性。在存储结构方面,涵盖拓扑寻址、Device DDT远程寻址以及寄存器寻址三种方式,详细解释了不同类型的寻址方法及其应用场景。系统硬件架构部分,阐述了最小系统的构建要素,包括CPU、机架和模块的选择与配置,并介绍了常见的系统拓扑结构,如简单的机架间拓扑和远程子站以太网菊花链等。上电写入程序环节,说明了通过USB和以太网两种接口进行程序下载的具体步骤,特别是针对初次下载时IP地址的设置方法。最后,CPU冗余部分重点描述了热备功能的实现机制,包括IP通讯地址配置和热备拓扑结构。 适合人群:从事工业自动化领域工作的技术人员,特别是对PLC编程及系统集成有一定了解的工程师。 使用场景及目标:①帮助工程师理解施耐德M580系列PLC的寻址机制,以便更好地进行模块配置和编程;②指导工程师完成最小系统的搭建,优化系统拓扑结构的设计;③提供详细的上电写入程序指南,确保程序下载顺利进行;④解释CPU冗余的实现方式,提高系统的稳定性和可靠性。 其他说明:文中还涉及一些特殊模块的功能介绍,如定时器事件和Modbus串口通讯模块,这些内容有助于用户深入了解M580系列PLC的高级应用。此外,附录部分提供了远程子站和热备冗余系统的实物图片,便于用户直观理解相关概念。
某型自动垂直提升仓储系统方案论证及关键零部件的设计.zip
2135D3F1EFA99CB590678658F575DB23.pdf#page=1&view=fitH
可以搜索文本内的内容,指定目录,指定文件格式,匹配大小写等
Windows 平台 Android Studio 下载与安装指南.zip
Android Studio Meerkat 2024.3.1 Patch 1(android-studio-2024.3.1.14-windows.zip)适用于Windows系统,文件使用360压缩软件分割成两个压缩包,必须一起下载使用: part1: https://download.csdn.net/download/weixin_43800734/90557033 part2: https://download.csdn.net/download/weixin_43800734/90557035
国网台区终端最新规范
国网台区终端最新规范
1.【锂电池剩余寿命预测】Transformer-GRU锂电池剩余寿命预测(Matlab完整源码和数据) 2.数据集:NASA数据集,已经处理好,B0005电池训练、B0006测试; 3.环境准备:Matlab2023b,可读性强; 4.模型描述:Transformer-GRU在各种各样的问题上表现非常出色,现在被广泛使用。 5.领域描述:近年来,随着锂离子电池的能量密度、功率密度逐渐提升,其安全性能与剩余使用寿命预测变得愈发重要。本代码实现了Transformer-GRU在该领域的应用。 6.作者介绍:机器学习之心,博客专家认证,机器学习领域创作者,2023博客之星TOP50,主做机器学习和深度学习时序、回归、分类、聚类和降维等程序设计和案例分析,文章底部有博主联系方式。从事Matlab、Python算法仿真工作8年,更多仿真源码、数据集定制私信。
Android项目原生java语言课程设计,包含LW+ppt
大学生入门前端-五子棋vue项目
这是一个完整的端到端解决方案,用于分析和预测阿联酋(UAE)地区的二手车价格。数据集包含 10,000 条二手车信息,覆盖了迪拜、阿布扎比和沙迦等城市,并提供了精确的地理位置数据。此外,项目还包括一个基于 Dash 构建的 Web 应用程序代码和一个训练好的 XGBoost 模型,帮助用户探索区域市场趋势、预测车价以及可视化地理空间洞察。 数据集内容 项目文件以压缩 ZIP 归档形式提供,包含以下内容: 数据文件: data/uae_used_cars_10k.csv:包含 10,000 条二手车记录的数据集,涵盖车辆品牌、型号、年份、里程数、发动机缸数、价格、变速箱类型、燃料类型、颜色、描述以及销售地点(如迪拜、阿布扎比、沙迦)。 模型文件: models/stacking_model.pkl:训练好的 XGBoost 模型,用于预测二手车价格。 models/scaler.pkl:用于数据预处理的缩放器。 models.py:模型相关功能的实现。 train_model.py:训练模型的脚本。 Web 应用程序文件: app.py:Dash 应用程序的主文件。 callback
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。
此为代码审查工具 可查 文件数,字节数,总行数,代码行数,注释行数,空白行数,注释率等
内容概要:本文档涵盖了一项关于企业破产概率的详细分析任务,分为书面回答和Python代码实现两大部分。第一部分涉及对业务类型和破产状态的边际分布、条件分布及相对风险的计算,并绘制了相应的二维条形图。第二部分利用Python进行了数据处理和可视化,包括计算比值比、识别抽样技术类型、分析鱼类数据集以及探讨辛普森悖论。此外,还提供了针对鱼类和树木数据的统计分析方法。 适合人群:适用于有一定数学和编程基础的学习者,尤其是对统计学、数据分析感兴趣的大学生或研究人员。 使用场景及目标:①帮助学生掌握统计学概念如边际分布、条件分布、相对风险和比值比的实际应用;②教授如何用Python进行数据清洗、分析和可视化;③提高对不同类型抽样技术和潜在偏见的理解。 其他说明:文档不仅包含了理论知识讲解,还有具体的代码实例供读者参考实践。同时提醒读者在完成作业时需要注意提交格式的要求。
MCP快速入门实战,详细的实战教程