3.4 KiB
3.4 KiB
Docker Compose 部署说明
概述
这是一个基于Docker Compose的微服务部署方案,包含以下服务:
- Pulsar 消息队列集群
- IoTDB 时序数据库
- Redis 缓存服务
- MySQL 关系数据库
- Admin API 管理接口
- Admin Web 管理界面
快速开始
1. 配置环境变量
复制 env.example 为 .env 并修改配置:
cp env.example .env
# 编辑 .env 文件,修改服务器IP地址等配置
2. 启动服务
# 给启动脚本添加执行权限
chmod +x start-pulsar.sh
# 启动所有服务
./start-pulsar.sh
3. 查看服务状态
docker-compose -f docker-compose.yml ps
配置说明
环境变量配置 (.env)
| 变量名 | 说明 | 默认值 |
|---|---|---|
SERVER_IP |
服务器公网IP地址 | 47.110.53.196 |
PULSAR_BROKER_PORT |
Pulsar Broker端口 | 9093 |
PULSAR_ADMIN_PORT |
Pulsar Admin端口 | 9094 |
IOTDB_PORT |
IoTDB端口 | 30710 |
REDIS_PORT |
Redis端口 | 30712 |
MYSQL_PORT |
MySQL端口 | 13306 |
ADMIN_API_PORT |
Admin API端口 | 28080 |
ADMIN_WEB_PORT |
Admin Web端口 | 30711 |
PULSAR_ADMIN_USER |
Pulsar管理员用户名 | admin |
PULSAR_ADMIN_PASSWORD |
Pulsar管理员密码 | 0fd7afb8b0d04e6abc4fdfdac2190a79 |
IOTDB_ROOT_PASSWORD |
IoTDB root用户密码 | Lixiao@1980 |
MYSQL_ROOT_PASSWORD |
MySQL root用户密码 | JiShe!aqG#5kGgh&0 |
端口映射
| 服务 | 容器端口 | 宿主机端口 | 说明 |
|---|---|---|---|
| Zookeeper | 2181 | 2181 | Pulsar集群协调服务 |
| Pulsar Broker | 9093 | 9093 | Pulsar消息服务 |
| Pulsar Admin | 9094 | 9094 | Pulsar管理接口 |
| IoTDB | 6667 | 30710 | 时序数据库 |
| Redis | 6379 | 30712 | 缓存服务 |
| MySQL | 3306 | 13306 | 关系数据库 |
| Admin API | 10500 | 28080 | 管理接口 |
| Admin Web | 8080 | 30711 | 管理界面 |
部署到新服务器
1. 修改配置文件
编辑 .env 文件,修改以下关键配置:
# 修改为你的服务器IP地址
SERVER_IP=你的服务器IP地址
# 根据需要修改端口(避免端口冲突)
PULSAR_BROKER_PORT=9093
PULSAR_ADMIN_PORT=9094
# ... 其他端口配置
2. 启动服务
./start-pulsar.sh
3. 验证部署
脚本会自动显示连接信息,包括:
- 各服务的访问地址
- 用户名和密码
- 测试连接命令
常用命令
# 查看服务状态
docker-compose -f docker-compose.yml ps
# 查看服务日志
docker-compose -f docker-compose.yml logs -f [服务名]
# 停止所有服务
docker-compose -f docker-compose.yml down
# 重启特定服务
docker-compose -f docker-compose.yml restart [服务名]
# 查看服务资源使用情况
docker stats
故障排除
1. 端口冲突
如果遇到端口冲突,修改 config.env 中的端口配置,然后重启服务。
2. 权限问题
确保脚本有执行权限:
chmod +x start-pulsar.sh
3. 磁盘空间
确保有足够的磁盘空间用于数据存储:
df -h
4. 服务启动顺序
服务启动顺序由 depends_on 配置控制,如果某个服务启动失败,检查依赖服务是否正常。
安全建议
- 修改默认密码
- 限制网络访问
- 定期更新镜像
- 监控服务状态
- 备份重要数据
支持
如有问题,请检查:
- Docker和Docker Compose版本
- 系统资源是否充足
- 网络配置是否正确
- 日志信息中的错误提示