一、安装环境

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.yaml

2 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:3******M@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.v1

env_file:

- ./config.env

volumes:

- ./mysql/mysql.sql:/docker-entrypoint-initdb.d/mysql.sql:ro

- ./mysql/data:/var/lib/mysql

restart: always

networks:

- apipost_net

redis-db:

image: registry.cn-beijing.aliyuncs.com/runnergo/redis:6.2.7

volumes:

- ./redis/data:/data

command: redis-server --requirepass 3******M

restart: always

networks:

- apipost_net

mongo-db:

image: registry.cn-beijing.aliyuncs.com/runnergo/mongo:4.4

env_file:

- ./config.env

volumes:

- ./mongo/data:/data/db

- ./mongo/init-mongo.sh:/docker-entrypoint-initdb.d/init-mongo.sh

restart: always

networks:

- apipost_net

manage:

image: registry.cn-beijing.aliyuncs.com/runnergo/manage:releases-v1.0.4

restart: always

env_file:

- ./config.env

networks:

- apipost_net

ports:

- "58889:30000"

depends_on:

- mysql-db

web-ui:

image: registry.cn-beijing.aliyuncs.com/runnergo/web-ui:releases-v1.0.5

restart: always

ports:

- "9999:81"

- "58888:82"

networks:

- apipost_net

engine:

image: registry.cn-beijing.aliyuncs.com/runnergo/engine:releases-v1.0.3

restart: always

env_file:

- ./config.env

networks:

- apipost_net

file-server:

image: registry.cn-beijing.aliyuncs.com/runnergo/file-server:v2.2

restart: always

env_file:

- ./config.env

volumes:

- ./file-server/data:/app/file-server/file

networks:

- apipost_net

zookeeper:

image: registry.cn-beijing.aliyuncs.com/runnergo/zookeeper:latest

restart: always

networks:

- apipost_net

kafka:

image: registry.cn-beijing.aliyuncs.com/runnergo/kafka:2.13-3.2.1

restart: always

depends_on:

- zookeeper

env_file:

- ./config.env

networks:

- apipost_net

collector:

image: registry.cn-beijing.aliyuncs.com/runnergo/collector:master

restart: always

env_file:

- ./config.env

networks:

- apipost_net

depends_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

四、界面展示

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

五、组件及其开放端口

启动脚本分享

# run.sh

PS3='Please enter your choice: '

options=("START" "STOP" "STOP-and-REMOVE-CONTAINERS" "RESTART" "Quit")

select opt in "${options[@]}"

do

case $opt in

"START")

echo "-----------Start runnergo containers-----------"

docker-compose -f ./runnergo.yaml up -d

break

;;

"STOP")

echo "-----------Stop runnergo containers-----------"

docker-compose -f ./runnergo.yaml stop

break

;;

"STOP-and-REMOVE-CONTAINERS")

echo "-----------Stop and remove runnergo containers-----------"

docker-compose -f ./runnergo.yaml down

break

;;

"RESTART")

echo "-----------Restart runnergo containers-----------"

docker-compose -f ./runnergo.yaml restart

break

;;

"Quit")

echo "-----------Quit!-----------"

break

;;

*) echo invalid option;;

esac

done

参考:

https://www.runnergo.com/

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

推荐阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: