一、安装环境
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