术语说明

Jira 有三个目录,这里有必要说明一下, 以便在下面的文档中统一

目录

说明

Jira 安装目录 (installation-directory)

即jira应用的目录或者称作部署目录,jira的应用程序

默认路径是 /opt/atlassian/jira

home 目录(local home directory)

即jira的数据文件,包括 数据库配置文件dbconfig, 日志, 附件,插件目录,索引目录等

默认路径 /var/atlassian/application-data/jira

sharedhome 目录

是多检点共享的一个NFS目录, 需要mount到每个jira实例上

home目录的一部分目录要放在这里供所有节点共享,如data附件的目录, plugins插件的目录, import和export的目录


搭建一个全新的cluster环境

首先在测试环境下搭建一个cluster环境, 使用现有的jira版本安装 8.12.0

1. 在节点1上安装Jira

  1. 节点1上使用8.12.0的安装包,安装一个新的jira, 可以自定义安装目录和Home目录,或者使用默认的路径安装

  2. 安装 Database Driver, 如果使用mysql 数据库需要手动安装 jdbc的driver, mysql 数据库的设置请参见 Jira MySQL 连接配置 

    1. 下载 mysql MySQL Connector/J 5.1 driver. 如果是MySQL 5.7的版本,要选择 5.1的驱动

    2. 解压后将jar包拷贝到 Jira 安装目录 下的 lib 目录下 ,注意文件权限和别的保持一致

  3. 安装完成后,启动jira应用

    <installation-directory>/bin/start-jira.sh
  4. 按照 setup配置引导初始化数据库和Home目录

  5. Jira web 页面正常打开

2. 设置 ShareHome

  1. 节点1上创建一个 SharedHome的目录,这里设为 /data/sharedhome 也可以 自己命名, 把NFS的磁盘mount到这个目录上

  2. 停止节点1上的jira

  3. 将节点1上的以下目录从 Jira home 目录,拷贝到 sharedhome 目录,拷贝的时候注意文件权限,拷贝过去的文件 Jira 用户需要有读写权限,可以使用 cp -a 的命令

    • data

    • plugins

    • logos

    • import

    • export

    • caches

    • keys

3. 配置jira cluster属性

  1. 进入jira local home 目录下,创建一个 cluster.properties 的文件, 编辑机这个文件,设置节点名称和sharedhome路径 ,如下

    # This ID must be unique across the cluster
    jira.node.id = node1
    # The location of the shared home directory for all Jira nodes
    jira.shared.home = /data/sharedhome
  2. 启动 jira

  3. 健康检查是否有错误


4 安装jira节点2

  1. 仅运行安装程序,不启动节点2上的jira

5 将节点2加入到 cluster

  1. 将jira 节点1 上的 local home 目录拷贝到 节点2上相同目录,注意权限需保持一致

  2. 修改 local home 目录下的 cluster.properties 的文件,将 jira.node.id 设为 node2 , 如下

    # This ID must be unique across the cluster
    jira.node.id = node2
    # The location of the shared home directory for all Jira nodes
    jira.shared.home = /data/sharedhome
  3. 如果修改了节点1的安装目录下的以下文件,也需要同样拷贝到节点2的相同目录,同样注意权限

    1. <installation-directory>/bin/setenv.sh , 启动参数配置

    2. <installation-directory>/conf/web.xml, 设置ssl, proxy等网络设置

    3. <installation-directory>/atlassian-jira/WEB-INF/classes/jira-application.properties , 设置 jira.home

  4. 启动节点2 上的jira

6 健康检查

  1. 登录Jira Web页面,进行健康检查

  2. 处理健康检查的问题


将原Jira数据拷贝一份到测试环境

1. 停止环境Jira

  • 停止测试环境节点1和节点2的jira

2. 导入数据库

  • 将原来的jira 数据库dump 出来一份

  • 将dump出来的数据库导入到测试环境的数据库


3. 导入data数据文件

  • 将原jira local home 下的如下目录,拷贝到 cluster 环境的 shared home 目录下,覆盖shared home的数据,注意权限

    • data

    • plugins


4. 启动节点1

  1. 启动节点1

  2. 重建索引


5. 启动节点2


升级新环境到最新的LTS版本

升级前准备

  1. 下载最新的版本

  2. 停止 Cluster, 两个Node都要停止

  3. 在两个节点上分别备份 原来jira的安装路径,如

    cp  /opt/atlassian/jira    /opt/atlassian/jira_<旧版本号>


升级节点1

1. 在节点1上运行新版本的JIRA安装程序

将下面命令中的 X.X.X 替换成需要升级的版本

chmod +x atlassian-jira-X.X.X-x64.bin

./atlassian-jira-X.X.X-x64.bin

安装过程成选择 Upgrade,而不是全新的Install ,然后根据提示一步一步安装,需要输入的信息有

  • 现有的安装目录

  • Jira local home目录

安装完成后选择先不运行启动Jira, 等后续的工作都做完了再启动


2. 安装 Database Driver

安装 Database Driver, 如果使用mysql 数据库需要手动安装 jdbc的driver

  1. 下载 mysql MySQL Connector/J 5.1 driver. 如果是MySQL 5.7的版本,要选择 5.1的驱动

  2. 解压后将jar包拷贝到 Jira 安装目录 下的 lib 目录下 ,注意文件权限和别的保持一致

也可以从旧版本备份的安装目录下拷贝 jdbc driver 到 新安装的目录的 lib 目录下


3. 检查并应用修改过的配置文件

  1. <installation-directory>/bin/setenv.sh , 启动参数配置

  2. <installation-directory>/conf/web.xml, 设置ssl, proxy等网络设置

  3. <installation-directory>/atlassian-jira/WEB-INF/classes/jira-application.properties , 设置 jira.home


4. 禁用 automatic reindex

Jira 在启动时会自动检查是否需要重建索引, 为了避免多建一次索引, 我们先把这个功能禁用,因为建索引的时间很长,下面我们还需要再建一遍索引,所以这里先把启动建索引的功能给禁用掉

  1. 在jira local home 目录下,编辑或创建(如果原来没有) 文件jira-config.properties, 注意文件权限

    <jira-home-directory>/jira-config.properties
  2. 添加这么一行

    upgrade.reindex.allowed=false


启动节点1, 完成节点1的升级

  1. 启动jira1

    <installation-directory>/bin/start-jira.sh
  2. 升级插件

  3. 重建索引 , 需要锁定Jira, 完全重建索引


升级节点2

重复升级节点1的方式升级节点2, 安装完成后, 不需要再次升级插件和重建索引

运行健康检查,检查cluster 健康状态