- 部署流程简述
- 注意事项
- 具体 *** 作步骤
此文档基于JIRA V8.15.0版本配置部署,对其他JIRA版本只具有参考作用,不确保配置流程相同
注:集群模式配置完成后并没有VIP,以IP的方式内部访问没有意义,而外部访问前端SLB需要支持session sticky,例如前端使用nginx,需要添加nginx-sticky-module模块。
机器都在/opt目录下安装JIRA,/data目录下存储jira索引数据,/data1目录挂载NAS,存储共享数据。
以测试环境为例,JIRA高可用配置大致流程如下:
①、停止原JIRA服务,将JIRA的数据目录下的data/、plugins/、logos/、caches/四个目录拷贝到NAS(可用NFS等共享目录代替)盘中,例如/data1目录下
②、JIRA数据目录,例如在/data目录下,将除data/、plugins/、logos/、caches/以外的所有文件,拷贝到其他节点的数据目录/data中
③、JIRA安装目录,例如在/opt目录下,直接拷贝到其他节点的/opt目录下
④、在三台JIRA的hosts,添加三台主机hostname与IP的关系,可以通过主机名解析IP
⑤、在JIRA数据目录创建cluster.properties文件,配置Jira id,jira.shared.home项
⑥、配置完成后,重启原JIRA,从JIRA的集群配置中查看集群状态
⑦、其他两个节点的JIRA,在JIRA数据目录创建cluster.properties文件,配置Jira id,jira.shared.home项,启动服务
⑧、查看JIRA日志的连接情况,最终从JIRA的集群配置中确认集群状态
①、cluster.properties文件中,Jira id不同节点名称不同,jira.shared.home指定相同挂载的共享目录 ②、三台主机可以互相解析,需要把主机名与IP信息写到hosts文件中 ③、启动时,先把一台配置好集群文件cluster.properties的JIRA启动起来,将单点转为集群模式 ④、注意JIRA的启动权限,确保程序目录,数据目录,NAS目录都有权限访问 ⑤、当一个集群JIRA启动没问题后,再将其他节点JIRA启动,通过在JIRA WEB的集群配置上查看节点是否上线
关于JIRA的启动权限,可以更改jira的启动用户,具体可查看===>JIRA修改运行用户
具体 *** 作步骤原JIRA为单点,不能保证服务的可靠性,一但宕机就无法提供服务,现打算升级JIRA架构,配置集群模式,所有节点均为主,任意一、二台服务宕机,不影响JIRA提供服务。
原JIRA(有数据):172.31.0.46
新JIRA节点(无数据):172.31.0.76
新JIRA节点(无数据):172.31.0.107
/data1是共享目录,这里的环境为云主机部署,本地环境可用NFS等代替NAS
停止原JIRA服务,将有数据的JIRA中 data,plugins,caches,logos 放到/data1/下
/opt/atlassian/jira/bin/catalina.sh stop cp -r /data/atlassian/application-data/jira/{data,plugins,caches,logos} /data1/
将JIRA程序目录整个拷贝到其他机器上
scp -r /opt/atlassian/jira/ root@172.31.0.76:/opt/atlassian scp -r /opt/atlassian/jira/ root@172.31.0.107:/opt/atlassian
172.31.0.76,172.31.0.107两台机器上创建JIRA多层数据目录
mkdir -p /data/atlassian/application-data/jira
在172.31.0.46那台机器上,将 data,plugins,caches,logos 以外的所有文件拷贝到172.31.0.76,172.31.0.107两台机器上
scp -r `ls /data/atlassian/application-data/jira | grep -v 'data|plugins|caches|logos'` root@172.31.0.76:/data/atlassian/application-data/jira scp -r `ls /data/atlassian/application-data/jira | grep -v 'data|plugins|caches|logos'` root@172.31.0.107:/data/atlassian/application-data/jira
数据在其他节点传输完成后,在hosts文件中添加三台主机的解析记录,例如:172.31.0.46 node01,172.31.0.76 node02,172.31.0.76 node02,用于集群连接心跳线时能够解析通信
172.31.0.46 node01 172.31.0.76 node02 172.31.0.107 node03
在原JIRA(172.31.0.46)的数据目录下创建集群文件cluster.properties
touch /data/atlassian/application-data/jira/cluster.properties
在集群文件cluster.properties中添加配置信息
jira.node.id:在JIRA WEB的集群配置中显示的名称,三台机器不能相同
jira.shared.home:JIRA集群的共享目录,这里为NAS盘/data1
ehcache.listener.hostName:声明集群中自己的主机名,名称同hosts文件中声明的记录,用于其他机器连接,三台机器不能相同
vim /data/atlassian/application-data/jira/cluster.properties jira.node.id = node1 jira.shared.home = /data1 ehcache.listener.hostName = node01
配置完成后,启动JIRA服务
/opt/atlassian/jira/bin/catalina.sh start
启动成功后,使用管理员用户登录jira,点击一般设置==>集群,查看JIRA WEB的集群配置,是否识别到启动主机的节点ID
其他两台机器也在/data/atlassian/application-data/jira/目录下创建cluster.properties文件,内容如下
172.31.0.76的cluster.properties文件内容 jira.node.id = node2 jira.shared.home = /data1 ehcache.listener.hostName = node02 172.31.0.107的cluster.properties文件内容 jira.node.id = node3 jira.shared.home = /data1 ehcache.listener.hostName = node03
在172.31.0.76,172.31.0.107机器上启动JIRA服务
/opt/atlassian/jira/bin/catalina.sh start
最终在JIRA WEB上查看集群配置,看三台机器是否上线
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)