美文网首页
Archery1.9.1使用Docker部署及配置

Archery1.9.1使用Docker部署及配置

作者: 这货不是王马勺 | 来源:发表于2023-04-03 16:15 被阅读0次

    环境准备

    安装系统工具

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

    安装git

    yum install -y git
    

    安装Docker

    按照企业标准安装手册执行,正常情况不用。
    添加软件源信息

    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
    

    授予可执行权限

    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

    下载安装介质
    下载地址:

    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文件内的services可按照本身的运行环境来调整,同时注意检查版本号是否正确,比如说外部已经装好了mysql、redis、inception,就可以将对应的services删除,但是需要注意修改settings.py文件的相关配置,具体可以参考修改配置

    表结构初始化

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

    数据初始化

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

    创建管理用户

    python3 manage.py createsuperuser
    

    exit回到linux

    重启服务

    docker restart archery
    

    日志查看和问题排查

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

    注:本机本地运行的mysql和docker冲突,一个起需要关另一个
    查看正在运行的docker会发现一共起了四个容器,进入容器,停止容器:

    docker ps
    
    docker exec -it deb0f28d9275 bash
    exit
    
    docker stop redis
    docker stop archery
    ...
    

    网页访问

    http://hostname:9123
    

    功能模块及插件配置

    goinception配置
    功能是对修改的数据进行备份,需要进入web页面配置,进入系统管理-配置项管理:

    • GO_INCEPTION_HOST:写本地ip地址即可;
    • GO_INCEPTION_PORT:4000(从docker ps也可查看);
    • BACKUP_HOST:写本地ip地址即可,数据备份到docker中的MySQL;
    • BACKUP_USER:此账号密码发现和当时安装时创建的superadmin账号相同;
    • BACKUP_PASSWORD:输入密码即可。

    My2SQL
    功能类似于Binlog2SQL,通过多线程以更高的性能快速解析binlog。支持回滚、去除主键、去db前缀及分表输出文件等多种解析模式,并拥有完备的过滤筛选项;支持异步获取文件,并且通知执行结果。
    docker镜像已包含,无需手动再安装,只需在web页面进行配置:

    /opt/archery/src/plugins/my2sql
    

    SchemaSync
    对比不同数据库的Schema信息,输出修改语句和回滚语句,SchemaSync不仅限于表结构,它可以处理的对象还有:视图、事件、存储过程、函数、触发器、外键
    (v1.7.7以及以上版本无需配置)

    SQLAdvisor
    功能说明:利用美团SQLAdvisor对收集的慢日志进行优化,一键获取优化建议。docker镜像已包含。
    在系统管理-配置项管理中修改SQLADVISOR为程序路径,路径需要完整,docker部署的修改为:

    /opt/archery/src/plugins/sqladvisor
    

    SOAR
    SOAR(SQL Optimizer And Rewriter)是一个对SQL进行优化和改写的自动化工具。 由小米人工智能与云平台的数据库团队开发与维护。
    在系统管理-配置项管理中修改SOAR_PATH为程序路径,路径需要完整,docker部署的修改为:

    /opt/archery/src/plugins/soar
    

    修改SOAR_TEST_DSN为测试环境连接信息

    root:123456@hostname:3306/archery
    

    SQLTuning
    协助DBA高效、快速地优化语句。

    SlowQuery
    参考:

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

    实例及权限配置

    实例管理-实例列表-添加实例,其中实例使用账号权限对应了属于什么资源组(一般以数据库业务划分),一般习惯先在MySQL配置一个账号后缀_sql,并授予相应权限,再在配置实例时指定资源组。

    相关文章

      网友评论

          本文标题:Archery1.9.1使用Docker部署及配置

          本文链接:https://www.haomeiwen.com/subject/zuodddtx.html