您好,登錄后才能下訂單哦!
JIRA是Atlassian公司出品的項目與事務跟蹤工具,被廣泛應用于缺陷跟蹤、客戶服務、需求收集、流程審批、任務跟蹤、項目跟蹤和敏捷管理等工作領域。很多企業與互聯網公司都在使用Jira作為內部流程管理系統,進行團隊協作與問題單 管理。
JIRA的后臺數據庫可以選擇使用嵌入式數據庫或MySQL/PGSQL等專業數據庫。一般來說,大部分企業選擇MySQL作為底層的數據存儲。但是,隨著問題工單的不斷積累,對于較大型企業來說MySQL所支撐的數據量可能很快達到瓶頸。用戶可以選擇使用SequoiaDB分布式數據庫替換MySQL默認的InnoDB引擎,在保持對Jira應用程序完整兼容的前提下做到彈性橫向擴張。
JIRA 是目前比較流行的基于Java架構的管理系統,由于Atlassian公司對很多開源項目實行免費提供缺陷跟蹤服務,因此在開源領域,其認知度比其他的產品要高得多,而且易用性也好一些。同時,開源則是其另一特色,在用戶購買其軟件的同時,也就將源代碼也購置進來,方便做二次開發。JIRA功能全面,界面友好,安裝簡單,配置靈活,權限管理以及可擴展性方面都十分出色。
通過閱讀本文,用戶可以了解到如何使用SequoiaDB巨杉數據庫的MySQL實例無縫替換標準MySQL數據庫。SequoiaDB巨杉數據庫允許用戶在不更改一行代碼的情況下直接對已有應用進行后臺MySQL數據庫遷移。
通過使用SequoiaDB巨杉數據庫,用戶可以得到:
l 水平彈性擴張
l MySQL的100%全兼容
l 優秀的交易性能
本文使用Linux Ubuntu Server 18.10作為服務器,SequoiaDB巨杉數據庫版本為3.2.1。
本教程默認使用sudo用戶名密碼為“sequoiadb:sequoiadb”,默認home路徑為/home/sequoiadb。
對于使用CentOS等其他Linux版本的用戶,本文所描述的流程可能略有不同,需要根據實際情況自行調整。
下載SequoiaDB標準虛擬機模板的用戶可以直接跳過該安裝部署步驟。
1)下載并安裝SequoiaDB巨杉數據庫
$ wget http://cdn.sequoiadb.com/images/sequoiadb/x86_64/sequoiadb-3.2.1-linux_x86_64.tar.gz $ tar -zxvf sequoiadb-3.2.1-linux_x86_64.tar.gz $ cd sequoiadb-3.2.1/ $ sudo ./setup.sh |
之后一直回車確認各個默認參數即可。
2) 使用數據庫實例用戶創建默認實例
$ sudo su sdbadmin $ /opt/sequoiadb/tools/deploy/quickDeploy.sh $ exit |
本教程使用JIRA 8.2.1。
1)用戶可以登錄JIRA的官網 https://www.atlassian.com/software/jira/download 下載安裝包,或直接通過wget進行下載。
$ wget https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.2.1-x64.bin |
注: JIRA 官方安裝文檔位于 https://confluence.atlassian.com/adminjiraserver/installing-jira-applications-on-linux-938846841.html |
2)執行安裝包
$ chmod 755 atlassian-jira-software-8.2.1-x64.bin $ sudo ./atlassian-jira-software-8.2.1-x64.bin |
3)默認情況下,測試版的JIRA不提供MySQL JDBC驅動,因此需要手工下載驅動包。由于當前JIRA版本不支持MySQL 8的驅動,因此需要下載MySQL 5.1.x的JDBC安裝包。
或直接通過wget下載
$ wget https://downloads.mysql.com/archives/get/file/mysql-connector-java-5.1.46.tar.gz $ tar -zxvf mysql-connector-java-5.1.46.tar.gz |
4)將JDBC驅動拷貝至JIRA的lib目錄下并重啟JIRA
$ sudo cp mysql-connector-java-5.1.46/mysql-connector-java-5.1.46.jar /opt/atlassian/jira/lib/ $ sudo /opt/atlassian/jira/bin/shutdown.sh $ sudo /opt/atlassian/jira/bin/startup.sh |
5)開啟SequoiaDB巨杉數據庫事務功能并設置默認隔離級別RC
$ sudo su sdbadmin $ /opt/sequoiadb/bin/sdb > db = new Sdb() ; > db.updateConf ( { transactionon: true, transisolation: 1 } ) ; > quit ; $ /opt/sequoiadb/bin/sdbstop $ /opt/sequoiadb/bin/sdbstart |
6)創建數據庫
$ /opt/sequoiasql/mysql/bin/mysql -S /opt/sequoiasql/mysql/database/3306/mysqld.sock -u root mysql> create user 'sequoiadb'@'localhost' identified by 'sequoiadb'; mysql> create database jira; mysql> grant all on jira.* to 'sequoiadb'@'localhost'; mysql> grant all privileges on *.* to 'sequoiadb'@'%' identified by 'sequoiadb' with grant option; mysql> exit $ exit |
1)使用瀏覽器登錄服務器IP地址的8080端口,選擇“ I’ll set it up myself ”
2)數據庫設置頁面選擇“ My Own Database ”,填入服務器IP地址、jira數據庫名、以及sequoiadb:sequoiadb作為用戶名密碼
3 )點擊 Test Connection 確認數據庫連接正確
4 )點擊 Next 創建數據庫,并跟隨導航進入注冊頁面
5 )作為測試賬戶,用戶可以點擊“ generate a Jira trial license ”并在官網注冊申請測試授權賬號
6 )將授權碼黏貼到安裝界面下并點擊 Next ,用戶名密碼設置為默認 sequoiadb:sequoiadb
7 )完成安裝設置并創建一個默認 sequoiadb 的項目
在 JIRA 的安裝部署程序中,默認指定了 InnoDB 作為所有表的存儲引擎。因此接下來用戶可以通過 mydumper 與 myloader 將 InnoDB 的表切換至 SequoiaDB 。
1 )停止 JIRA
$ sudo /opt/atlassian/jira/bin/shutdown.sh |
2)下載mydumper
$ wget https://github.com/maxbube/mydumper/releases/download/v0.9.5/mydumper_0.9.5-2.xenial_amd64.deb $ sudo dpkg -i mydumper_0.9.5-2.xenial_amd64.deb |
3)導出jira數據庫所有表
$ sudo su – sdbadmin $ mkdir temp $ mydumper -h 10.211.55.14 -P 3306 -u sequoiadb -p sequoiadb -t 16 -F 64 -B jira -o ./temp |
4)將所有InnoDB表替換為SequoiaDB引擎
$ sed -i "s/InnoDB/SequoiaDB/g" `grep -R "InnoDB" -rl ./temp` |
5)重新創建jira庫并使用myloader導入數據
$ /opt/sequoiasql/mysql/bin/mysql -S /opt/sequoiasql/mysql/database/3306/mysqld.sock -u root mysql> drop database jira; mysql> create database jira; mysql> grant all on jira.* to 'sequoiadb'@'localhost'; mysql> exit $ myloader -h 10.211.55.14 -u sequoiadb -p sequoiadb -P 3306 -t 32 -d ./temp $ exit |
6)重新啟動JIRA服務
$ sudo /opt/atlassian/jira/bin/startup.sh |
7)重新登錄瀏覽器,如今JIRA后臺所有的數據已經由MySQL遷移至SequoiaDB
SequoiaDB巨杉數據庫作為一款分布式數據庫,提供包括結構化SQL、與非結構化文件系統和對象存儲的機制。
通過SequoiaDB創建的MySQL實例,能夠提供與標準MySQL全兼容的SQL與DDL能力,用戶無需調整DDL或SQL即可實現無縫透明地訪問分布式表結構。
本文向讀者展示了如何通過SequoiaDB的MySQL實例,實現與標準MySQL的無縫遷移。通過使用SequoiaDB巨杉數據庫,用戶可以在滿足標準ACID與MySQL協議的基礎上,實現近無限的彈性擴展能力。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。