一、安装环境

CentOS-7.9 / Docker-CE-23.0.1 / Docker-compose-2.17.2

二、资源配置

4核8G(官方建议8核16GB)

三、安装运行

从Github下载安装所需的文件包(版本1.0.3),这里选择的是tar.gz包

 将压缩包里面的runnergo目录上传到本地虚拟机/data目录下,目录结构如下所示:

# tree -L 2
.
├── config.env
├── mongo
│   └── init-mongo.sh
├── mysql
│   ├── mysql.cnf
│   └── mysql.sql
└── runnergo.yaml2 directories, 5 files

备注:runnergo.yaml是我这边重命名后的,压缩包里面的源文件名为docker-compose.yaml

核心配置文件-config.env,官方文档说一般无需修改,但是里面涉及到的密码存在弱密码,在生产环境运行,这个配置肯定是要修改的。

下面是我本地修改 config.env 的配置:

# 数据库root 密码
MYSQL_ROOT_PASSWORD=3******M# runnergo 使用的数据库名
MYSQL_DATABASE=runnergo# redis 初始话
REDIS_PASSWD=3******M# Mongo 数据管理员的用户名
MONGO_INITDB_ROOT_USERNAME=root# Mongo 数据库管理员的账号
MONGO_INITDB_ROOT_PASSWORD=3******M# runnergo  Mongo使用的数据库名
MONGO_INITDB_DATABASE=runnergo# runnergo Mongo库的用户名
MONGO_INITDB_USERNAME=runnergo# runnergo Mongo库的密码
MONGO_INITDB_PASSWORD=3******M# 最大并发数
MAX_RUNNER_CONCURRENCY=1000# 上传文件端口号(非必要不要改,这是容器里的)
FILE_SERVER_PORT=80# Runnergo 应用mongo 配置
RG_MONGO_DSN=mongodb://runnergo:3d8h#5v0M@mongo-db:27017/runnergo
RG_MONGO_DATABASE=runnergo
RG_REDIS_ADDRESS=redis-db:6379
RG_REDIS_PASSWORD=3******M
RG_REDIS_DB=0# kafka Topic
RG_KAFKA_TOPIC=report
RG_KAFKA_ADDRESS=kafka:9092
RG_KAFKA_PORT=9092# kafka 分区数,(同时并行跑多少任务)
RG_KAFKA_NUM=2# engine 日志路径
RG_ENGINE_LOG_PATH=/dev/stdout# collector 日志路径
RG_COLLECTOR_LOG_PATH=/dev/stdout# 内部互通参数(不要更改)
RG_MANAGEMENT_NOTIFY_STOP_STRESS=http://manage:30000/management/api/v1/plan/notify_stop_stress
RG_MANAGEMENT_NOTIFY_RUN_FINISH=http://manage:30000/management/api/v1/auto_plan/notify_run_finish
RG_DOMAIN=
RG_MYSQL_HOST=mysql-db
RG_MYSQL_USERNAME=root
RG_MYSQL_PASSWORD=3******M
RG_MYSQL_DBNAME=runnergo# JWT
RG_JWT_ISSUER=asfdasfasdfasfd
RG_JWT_SECRET=sdfaswerwrwerwerwer# MONG
RG_MONGO_PASSWORD=3******M#  内部互通参数(不要更改)
RG_CLIENTS_ENGINE_RUN_API=http://engine:30000/runner/run_api
RG_CLIENTS_ENGINE_RUN_SCENE=http://engine:30000/runner/run_scene
RG_CLIENTS_ENGINE_STOP_SCENE=http://engine:30000/runner/stop_scene
RG_CLIENTS_ENGINE_RUN_PLAN=http://engine:30000/runner/run_plan
RG_CLIENTS_ENGINE_STOP_PLAN=http://engine:30000/runner/stop
RG_REDIS_REPORT_ADDRESS=redis-db:6379# #初始化压力机可使用分区
RG_CAN_USE_PARTITION_TOTAL_NUM=2## KAFKA 配置
KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181/kafka
KAFKA_LISTENERS=PLAINTEXT://:9092
KAFKA_BROKER_ID=0
KAFKA_CREATE_TOPICS=report:2:1

runnergo.yaml(注意redis-server启动密码的修改)

version: "3"
services:mysql-db:image: registry.cn-beijing.aliyuncs.com/runnergo/mysql:5.7.40.v1env_file:- ./config.envvolumes:- ./mysql/mysql.sql:/docker-entrypoint-initdb.d/mysql.sql:ro- ./mysql/data:/var/lib/mysqlrestart: alwaysnetworks:- apipost_netredis-db:image: registry.cn-beijing.aliyuncs.com/runnergo/redis:6.2.7volumes:- ./redis/data:/datacommand:  redis-server --requirepass 3******Mrestart: alwaysnetworks:- apipost_netmongo-db:image: registry.cn-beijing.aliyuncs.com/runnergo/mongo:4.4env_file:- ./config.envvolumes:- ./mongo/data:/data/db- ./mongo/init-mongo.sh:/docker-entrypoint-initdb.d/init-mongo.shrestart: alwaysnetworks:- apipost_netmanage:image: registry.cn-beijing.aliyuncs.com/runnergo/manage:releases-v1.0.4restart: alwaysenv_file:- ./config.envnetworks:- apipost_netports:- "58889:30000"depends_on:- mysql-dbweb-ui:image: registry.cn-beijing.aliyuncs.com/runnergo/web-ui:releases-v1.0.5restart: alwaysports:- "9999:81"- "58888:82"networks:- apipost_netengine:image: registry.cn-beijing.aliyuncs.com/runnergo/engine:releases-v1.0.3restart: alwaysenv_file:- ./config.envnetworks:- apipost_netfile-server:image: registry.cn-beijing.aliyuncs.com/runnergo/file-server:v2.2restart: alwaysenv_file:- ./config.envvolumes:- ./file-server/data:/app/file-server/filenetworks:- apipost_netzookeeper:image: registry.cn-beijing.aliyuncs.com/runnergo/zookeeper:latest restart: alwaysnetworks:- apipost_netkafka:image: registry.cn-beijing.aliyuncs.com/runnergo/kafka:2.13-3.2.1 restart: alwaysdepends_on:- zookeeperenv_file:- ./config.envnetworks:- apipost_netcollector:image: registry.cn-beijing.aliyuncs.com/runnergo/collector:masterrestart: alwaysenv_file:- ./config.envnetworks:- apipost_netdepends_on:- kafka
networks:apipost_net:driver: bridge

启动runnergo

# cd runnergo
# docker-compose -f runnergo.yaml up -d
[+] Running 11/11✔ Network runnergo_apipost_net      Created                                                                                                                                         0.1s ✔ Container runnergo-file-server-1  Started                                                                                                                                         1.9s ✔ Container runnergo-zookeeper-1    Started                                                                                                                                         1.9s ✔ Container runnergo-redis-db-1     Started                                                                                                                                         1.6s ✔ Container runnergo-mongo-db-1     Started                                                                                                                                         1.8s ✔ Container runnergo-mysql-db-1     Started                                                                                                                                         1.8s ✔ Container runnergo-web-ui-1       Started                                                                                                                                         2.1s ✔ Container runnergo-engine-1       Started                                                                                                                                         1.3s ✔ Container runnergo-manage-1       Started                                                                                                                                         2.3s ✔ Container runnergo-kafka-1        Started                                                                                                                                         2.5s ✔ Container runnergo-collector-1    Started # docker-compose -f runnergo.yaml ps
NAME                     IMAGE                                                              COMMAND                  SERVICE             CREATED             STATUS              PORTS
runnergo-collector-1     registry.cn-beijing.aliyuncs.com/runnergo/collector:master         "/data/collector/col…"   collector           31 seconds ago      Up 27 seconds       
runnergo-engine-1        registry.cn-beijing.aliyuncs.com/runnergo/engine:releases-v1.0.3   "/data/engine/engine…"   engine              31 seconds ago      Up 28 seconds       
runnergo-file-server-1   registry.cn-beijing.aliyuncs.com/runnergo/file-server:v2.2         "docker-entrypoint.s…"   file-server         31 seconds ago      Up 29 seconds       
runnergo-kafka-1         registry.cn-beijing.aliyuncs.com/runnergo/kafka:2.13-3.2.1         "start-kafka.sh"         kafka               31 seconds ago      Up 28 seconds       
runnergo-manage-1        registry.cn-beijing.aliyuncs.com/runnergo/manage:releases-v1.0.3   "/data/manage/manage…"   manage              31 seconds ago      Up 27 seconds       0.0.0.0:58889->30000/tcp, :::58889->30000/tcp
runnergo-mongo-db-1      registry.cn-beijing.aliyuncs.com/runnergo/mongo:4.4                "docker-entrypoint.s…"   mongo-db            31 seconds ago      Up 29 seconds       27017/tcp
runnergo-mysql-db-1      registry.cn-beijing.aliyuncs.com/runnergo/mysql:5.7.40.v1          "docker-entrypoint.s…"   mysql-db            31 seconds ago      Up 29 seconds       3306/tcp, 33060/tcp
runnergo-redis-db-1      registry.cn-beijing.aliyuncs.com/runnergo/redis:6.2.7              "docker-entrypoint.s…"   redis-db            31 seconds ago      Up 29 seconds       6379/tcp
runnergo-web-ui-1        registry.cn-beijing.aliyuncs.com/runnergo/web-ui:releases-v1.0.5   "/bin/entrypoint.sh …"   web-ui              31 seconds ago      Up 28 seconds       80/tcp, 0.0.0.0:9999->81/tcp, :::9999->81/tcp, 0.0.0.0:58888->82/tcp, :::58888->82/tcp
runnergo-zookeeper-1     registry.cn-beijing.aliyuncs.com/runnergo/zookeeper:latest         "/bin/sh -c '/usr/sb…"   zookeeper           31 seconds ago      Up 29 seconds       22/tcp, 2181/tcp, 2888/tcp, 3888/tcp

这个工具的组件开起来很耗CPU(希望官方看见可以优化下)

top - 09:34:54 up 36 min,  1 user,  load average: 2.88, 1.47, 1.62
Tasks: 184 total,   2 running, 181 sleeping,   0 stopped,   1 zombie
%Cpu(s): 42.2 us,  8.5 sy,  0.0 ni, 40.5 id,  0.0 wa,  0.0 hi,  8.8 si,  0.0 st
KiB Mem :  8154932 total,  4989536 free,  2124808 used,  1040588 buff/cache
KiB Swap:  4194300 total,  4194300 free,        0 used.  5773104 avail Mem PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                             5871 root      20   0 1310548  14176   5304 S 115.6  0.2   0:34.18 collector                                                                                                           5957 root      20   0 1935544 664364  11560 R 100.3  8.1   1:42.42 manage                                                                                                              4713 polkitd   20   0 1722784 208744   9872 S  85.7  2.6   1:35.88 mysqld                                                                                                              5445 root      20   0 4760496 358064  19576 S  19.6  4.4   0:12.71 java                                                                                                                9 root      20   0       0      0      0 S  10.3  0.0   1:09.08 rcu_sched                                                                                                           434 root      20   0       0      0      0 S   6.0  0.0   0:22.82 xfsaild/dm-0                                                                                                        4873 polkitd   20   0 1521764  89352  19104 S   6.0  1.1   0:03.57 mongod                                                                                                              735 root      20   0  273196   4892   3732 S   5.6  0.1   0:45.31 vmtoolsd                                                                                                            1411 root      20   0 1051588  45376  14688 S   4.3  0.6   0:42.49 containerd                                                                                                          4665 polkitd   20   0   52884  11616   2964 S   3.3  0.1   0:01.37 redis-server                                                                                                        1060 root      20   0  222740   7364   3872 S   3.0  0.1   0:05.24 rsyslogd                                                                                                            1427 root      20   0 1776960  76976  24448 S   2.7  0.9   0:42.81 dockerd                                                                                                             5246 root      20   0 3752456  93412  11644 S   2.3  1.1   0:01.92 java                  

四、界面展示

在登录页面注册个用户,然后直接登录即可。

五、组件及其开放端口

参考:

https://www.runnergo.com/

https://github.com/Runner-Go-Team/RunnerGo/releases