已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linux JBoss EAP集群搭建JBoss-EAP-6.4.0 域(Domain)模式+mod_cluster-1.2.6 集群环境配置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即会同步自动部署。1、 下载并配置JDK1.81.1 下载Linux环境下的jdk1.8,请去(官网)中下载jdk的安装文件;由于我的Linux是64位的,因此我下载jdk-8u101-linux-x64.tar.gz文件。下载地址:/technetwork/java/javase/downloads/jdk8-downloads-2133151.html如下图所示:1.2 新建/usr/java文件夹,将jdk-8u101-linux-x64.tar.gz放到该文件夹中,并将工作目录切换到/usr/java目录下。如下图所示: 解压JDK1.8tar -zxvf jdk-8u101-linux-x64.tar.gz 1.3 配置环境变量:、使用vim /etc/profile编辑profile文件,如下1图所示:、在/etc/profile底部加入如下内容,保存退出JAVA_HOME=/usr/java/jdk1.8.0_101PATH=$JAVA_HOME/bin:$PATHCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport JAVA_HOMEexport PATHexport CLASSPATH如下2图所示:图1:图2:最后使用source /etc/profile让profile文件立即生效rootlerry java# source /etc/profile1.4 验证jdk是否安装成功rootlerry java# java -versionrootlerry java# echo $JAVA_HOME当看到如下图时说明你的java环境已经配置OK2、 下载并安装JBoss EAP .1 下载JBoss EAP 6.4下载地址: /jbossnetwork/restricted/listSoftware.html?downloadType=distributions&product=appplatform&version=6.42.2 新建/home/Downloads文件夹,将jboss-eap-6.4.0-installer.jar放到该文件夹中,并将工作目录切换到/home/Downloads目录下。如下图所示:rootlerry # cd /home/rootlerry home# mkdir Downloadsrootlerry home# cd Downloads/2.3 安装JBoss EAP运行安装命令:rootlerry Downloads# java -jar jboss-eap-6.4.0-installer.jar安装过程中设置暗转路径等等其他参数,其中包括jboss的管理员的用户名和密码,用以登录jboss管理界面使用2.4 创建jboss link在/root/下创建link,以方便快速进入到jboss路径。使用命令:ln -s /opt/EAP-6.4.0 /root/jboss3、 部署Jboss eap Domain Server修改配置使用命令进入host.xml配置文件vim domain/configuration/host.xml将所有的地址,换成真实IP,在命令模式下输入下面命令,替换ip :%s//1/g 保存退出修改cluster连接密码vim domain/configuration/domain.xml将$jboss.messaging.cluster.password:CHANGEME! 修改为:$jboss.messaging.cluster.password:redhat!#123这个密码是cluster和domain通信的密码,修改为后面安全认证时添加的密码一致,否则启动报错。.1 修改/etc/profile文件,配置环境变量vim etc/profile增加: EAP_HOME=/opt/EAP-6.4.0 export EAP_HOME配置生效:source etc/profile验证:echo $EAP_HOME3.2 以domain模式启动Domain serverrootlerry bin# ./domain.sh3.3 进入master jboss 控制台,创建group、server1:9990/console/进入控制台后,可以看到jboss已经默认创建了一些group及server,先把他们全干掉吧(通常,我们会创建自己的group/server)参考下面这个界面,创建二个组 test-group-1,test-group-2创建group时,profile建议选择full-ha(以后做jboss集群配置,负载均衡、智能容错时,需要使用full-haprofile)重要提示:同一个局域网里如果有多个master,如果这些master上的group名称有重复,则只有第一master能启动成功后,后面的master启动时会报错,建议每个master上的group命名时,加上master的IP,比如group+IP地址,这样肯定不会重复! 参考下面的图,在master server上创建4个server注意:如果一个server已经处于started状态,是无法remove的,可以先到下面的界面,把该server stop掉,就可以RemoveStop server创建server创建server时,有一个Port Offset选项,默认情况下server的端口是8080,Port Offset指端口偏移量,如果按下图配置,Port Offset指定为1,则表示该server创建后,对应的端口为8080+1,即8081端口 (可以用1:8081/ 来访问)4、 部署Jboss eap Slaver.4.1 两台slavejava环境安装,和jboss环境安装和master一样,参照上边的安装4.2 在Slaver Server上配置jboss参数复制备份domain文件夹:cp -rf domain domain-bak4.3 修改domain/configuration/host-slave.xmlrootlerry domain# vim configuration/host-slave.xmla)这里的9999端口,改成其它不使用的端口(比如:9099),否则slave server上的9999端口,与master server上的管理端口冲突,最后启动时,会报错b)指定master server的IP(本例为1),这样slave在启动时,才知道去连哪一台master,如下图: c) 原来的,改成slave server的真实IP或,否则slave上的应用,只能在slave本机访问d)手动在slave上创建二个server,并加入到test-group-1 和test-group-2中(注:group的值,必须是在master server上创建过的,否则启动时,slave上的server无法正常加入到master相关的group中)e) 最开头的host节点上,加一个name=xxx的属性(本文中为slave82),这个name值最终会显示在master server的jboss 控制台中,建议起一个容易识别的名称4.4 修改/etc/profile文件,配置环境变量vim etc/profile增加: EAP_HOME=/opt/EAP-6.4.0 export EAP_HOME配置生效:source etc/profile验证:echo $EAP_HOME4.5 按照以上步骤在部署一台Slaver Server5、 安全认证配置5.5.1 回到master server上,添加一个名为slave82的管理员帐号,并记住最后生成的的字符串(xxx为密码经过base64处理后的内容)注意:realm选项时直接回车,否则会导致最后认证失败,密码和Domain中配置的一致5.2 回到slave82这台server中,再次编辑host-slave.xml,将的内容替换解释:slave启动时,需要连接注册到master的jboss中,连接过程需要安全认证,这里的secret相当于认证的钥匙,而认证的用户名即为: 正在连接的slave机器上jboss中host-slave.xml中这个节点中的name值,所以需要在master中创建一个名为“slave82”的管理员6、 mod_cluster-1.2.6负载均衡器配置mod_cluster是jboss的一个开源集群模块(基于apache 2.2.x),官网地址为/ 6.6.1 下载 mod_cluster-1.2.6下载地址:/mod_cluster/1.2.6.Final/linux-x86_64/mod_cluster-1.2.6.Final-linux2-x64.tar.gz6.2 安装并配置mod_cluster-1.2.6rootlerry Downloads# tar -zxf mod_cluster-1.2.6.Final-linux2-x64.tar.gzrootlerry Downloads# cp -rp opt/jboss/ /opt/rootlerry Downloads# cd /opt/jboss/httpd/httpd/conf/rootlerry conf# vim httpd.conf将ServerName修改为本机真实IP 最后的mod_cluster部分,参考下面修改主要是把,改成master server对应的真实IP,另外把Deny from all注释掉,把紧贴着的一行改成Allow from all,去掉这些访问上的限制。AdvertiseGroup和AdvertiseBindAddress的配置尤为重要,这里是我们的组播地址默认05:23364.需要改一下,如果我们一个内网环境,多个jboss集群,就会发送冲突,模块能扫描到其他项目的节点这里至关重要修改完成后保存退出。在启动apacherootlerry conf# cd /opt/jboss/httpd/sbin/rootlerry sbin# ./httpd顺利的话,浏览1:6666/mod_cluster_manager应该能看到类似以下界面这是很关键的一个界面,用来管理/监控所有节点,如果没成功,请仔细检查前面的步骤是否有误。6.3 修改master和slave的广播地址我们配置master和slave选择的是full-ha-sockets模式,我们需要修改这个段落,广播地址有两个,我们都改成不同的网段,改为,05,改为08,端口改成23333默认值23364我们必须得更改这个,不然影响其他集群vim /root/jboss/domain/configuration/domain.xml注意:同一集群环境中的所有节点均需要修改我们的模块由此配置,不会影响到内网其他集群,如果不这样配置,mod_cluster默认广播到任何节点,只要安装有jboss他都会扫描到,多集群部署就会给我们带来困扰比如这样的报错,就是其他集群尝试连接这个模块,认证失败导致的报错6.4 以domain模式启动所有jboss master/slave server启动jboss master server / slave server,完成后,刷新 1:6666/mod_cluster_manager,会看到多出了好多节点如果没有新的节点显示在该界面,检查jboss master server中创建的group,对应的profile是否为full-ha或ha点击相关的链接,还能看到更详细的信息注意:mod_cluster貌似最多只能支持6个node的负载均衡,mod_cluster还有其它一些限制,详情可参考/mod_cluster/1.2.0/html_single/#d0e857、 负载均衡、容错验证在test-group-1和test-group-2中部署了一个名为Test的应用做验证。现在可以直接用1/Test/来访问了,apache会智能转发到JBoss节点中的某一个,如果访问正常,说明负载均衡已经生效。继续把其它server停掉几台,再继续访问1/Test/,如果仍然正常,说明某几个node损坏,并不影响正常使用,即容错成功。所有server全shutdown后,1/Test/将无法访问。最后的架构如下:8、 JBoss EAP 6.3集群-Session 复制(Replication)java web application中,难免会用到session,集群环境中apache会将http请求智能转发到其中某台jboss server。假设有二个jboss server:Server A,Server B,Session值在Server A上。用户在访问某一个依赖session的页面时,如果第一次访问到Server A,能正常取到Session值,刷新一下,如果这时转发到Server B,Session值取不到,问题就来了。解决的办法简单到让人不敢相信,在app的web.xml中加一行 即可(前提:jboss cluster是使用mod_cluster实现的),有了这个节点后,向某台server写入session时,session会自动复制到其它server node。9、 将JBoss EAP 和mod_cluster 注册服务设置开机自启创建jboss用户rootlerry etc# useradd jboss.1 在master server的/root/bin目录下创建start-master-server.shvim /root/bin/start-master-server.sh内容:rm -rf /root/jboss-nohup.shnohup $EAP_HOME/bin/domain.sh /root/jboss-nohup.out 2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年大学大一(护理学)护理伦理规范阶段测试题及答案
- 2025年大学(建筑学)建筑设计原理试题及答案
- 制药安全知识培训资料课件
- 工程技术职位申报
- 工程安全讲师大赛课件
- 工程安全教育培训制度课件
- 2026年安全知识竞赛试题(含答案)
- 房颤消融公众健康教育策略
- 2026年事故隐患排查治理能力考核培训试卷及答案
- 2026年绿色环保知识竞赛题考试题库及答案
- 合肥市瑶海区S社区居家养老服务站建设研究:现状、问题与优化路径
- 果园防草布采购合同范本
- 《黄土原位测试规程》
- 冀教版(2024)三年级上册《称量物体》单元测试(含解析)
- 数学-湖南长郡中学、杭州二中、南师附中三校2025届高三4月联考试题+答案
- 医学三维可视化与虚拟现实技术:革新肝癌腹腔镜手术的探索与实践
- 统编版(2024)八年级上册历史新教材全册知识点复习提纲
- 水平定向钻施工技术应用与管理
- 风险金管理办法
- 校长在食堂从业人员培训会上的讲话
- (高清版)DBJ∕T 13-91-2025 《福建省房屋市政工程安全风险分级管控与隐患排查治理标准》
评论
0/150
提交评论