Archery1.9.1使用Docker部署及配置

環(huán)境準備

安裝系統(tǒng)工具

yum install -y yum-utils device-mapper-persistent-data lvm2

安裝git

yum install -y git

安裝Docker

按照企業(yè)標準安裝手冊執(zhí)行,正常情況不用。
添加軟件源信息

yum-config-manager --add-repo https://mirrors.h****n.com/package/setting/docker-ce.repo
yum clean all
yum makecache fast

安裝docker-CE

yum -y install docker-ce

安裝docker-compose

yum -y install docker-compose

授予可執(zhí)行權(quán)限

chmod +x /usr/bin/docker-compose

啟動

systemctl start docker
mkdir -p /etc/docker

tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors":["https://docker.h****n.com"]
}
EOF

systemctl daemon-reload
systemctl restart docker

安裝Archery

下載安裝介質(zhì)
下載地址:

https://github.com/hhyo/archery/releases/

選擇.tar.gz包下載,之后上傳到服務器/app/目錄下

解壓

tar xf Archery-1.9.1.tar.gz

啟動
進入解壓目錄后,再進入src子目錄,再進入docker-compose子目錄
用docker部署archery

cd /app/Archery-1.9.1/src/docker-compose

docker-compose -f docker-compose.yml up -d

docker ps

docker-compose.yml文件內(nèi)的services可按照本身的運行環(huán)境來調(diào)整,同時注意檢查版本號是否正確,比如說外部已經(jīng)裝好了mysql、redis、inception,就可以將對應的services刪除,但是需要注意修改settings.py文件的相關(guān)配置,具體可以參考修改配置

如果出現(xiàn)services.archery.depends_on contains an invalid type, it should be an array的報錯,則使用1.10.0版本或1.9.1版本的yml文件

表結(jié)構(gòu)初始化

docker exec -ti archery /bin/bash
cd /opt/archery
source /opt/venv4archery/bin/activate
python3 manage.py makemigrations sql
python3 manage.py migrate

數(shù)據(jù)初始化

python3 manage.py dbshell<sql/fixtures/auth_group.sql
python3 manage.py dbshell<src/init_sql/mysql_slow_query_review.sql

創(chuàng)建管理用戶

python3 manage.py createsuperuser

exit回到linux

重啟服務

docker restart archery

日志查看和問題排查

docker logs archery -f --tail=10
logs/archery.log

注:本機本地運行的mysql和docker沖突,一個起需要關(guān)另一個
查看正在運行的docker會發(fā)現(xiàn)一共起了四個容器,進入容器,停止容器:

docker ps

docker exec -it deb0f28d9275 bash
exit

docker stop redis
docker stop archery
...

網(wǎng)頁訪問

http://hostname:9123

功能模塊及插件配置

goinception配置
功能是對修改的數(shù)據(jù)進行備份,需要進入web頁面配置,進入系統(tǒng)管理-配置項管理:

  • GO_INCEPTION_HOST:寫本地ip地址即可;
  • GO_INCEPTION_PORT:4000(從docker ps也可查看);
  • BACKUP_HOST:寫本地ip地址即可,數(shù)據(jù)備份到docker中的MySQL;
  • BACKUP_USER:此賬號密碼發(fā)現(xiàn)和當時安裝時創(chuàng)建的superadmin賬號相同;
  • BACKUP_PASSWORD:輸入密碼即可。

My2SQL
功能類似于Binlog2SQL,通過多線程以更高的性能快速解析binlog。支持回滾、去除主鍵、去db前綴及分表輸出文件等多種解析模式,并擁有完備的過濾篩選項;支持異步獲取文件,并且通知執(zhí)行結(jié)果。
docker鏡像已包含,無需手動再安裝,只需在web頁面進行配置:

/opt/archery/src/plugins/my2sql

SchemaSync
對比不同數(shù)據(jù)庫的Schema信息,輸出修改語句和回滾語句,SchemaSync不僅限于表結(jié)構(gòu),它可以處理的對象還有:視圖、事件、存儲過程、函數(shù)、觸發(fā)器、外鍵
(v1.7.7以及以上版本無需配置)

SQLAdvisor
功能說明:利用美團SQLAdvisor對收集的慢日志進行優(yōu)化,一鍵獲取優(yōu)化建議。docker鏡像已包含。
在系統(tǒng)管理-配置項管理中修改SQLADVISOR為程序路徑,路徑需要完整,docker部署的修改為:

/opt/archery/src/plugins/sqladvisor

SOAR
SOAR(SQL Optimizer And Rewriter)是一個對SQL進行優(yōu)化和改寫的自動化工具。 由小米人工智能與云平臺的數(shù)據(jù)庫團隊開發(fā)與維護。
在系統(tǒng)管理-配置項管理中修改SOAR_PATH為程序路徑,路徑需要完整,docker部署的修改為:

/opt/archery/src/plugins/soar

修改SOAR_TEST_DSN為測試環(huán)境連接信息

root:123456@hostname:3306/archery

SQLTuning
協(xié)助DBA高效、快速地優(yōu)化語句。

SlowQuery
參考:

https://archerydms.com/modules/sql_optimize/

實例及權(quán)限配置

實例管理-實例列表-添加實例,其中實例使用賬號權(quán)限對應了屬于什么資源組(一般以數(shù)據(jù)庫業(yè)務劃分),一般習慣先在MySQL配置一個賬號后綴_sql,并授予相應權(quán)限,再在配置實例時指定資源組。

用戶權(quán)限可以先指定權(quán)限組,如devops習慣給權(quán)限如下:

官網(wǎng):

https://archerydms.com/
https://github.com/hhyo/archery/wiki/docker
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容