0
点赞
收藏
分享

微信扫一扫

分布式部署 apollo


一台服务器 部署多环境的 apollo

以windows环境为例,linux环境类似部署方式

前置条件 java环境、MySQL、gitBash、eureka注册中心

apollo官网 https://www.apolloconfig.com/



一、下载安装包、数据库sql

下载地址:https://github.com/apolloconfig/apollo/releases

1.1 下载安装包

三个安装包
apollo-configservice-x.x.x-github.zipapollo-adminservice-x.x.x-github.zipapollo-portal-x.x.x-github.zip

1.2 下载数据库sql

下载source code的压缩包,解压后,目录apollo-x.x.x\scripts\sql
apolloportaldb.sqlapolloconfigdb.sql

特别注意,如果已经安装过apollo,直接执行会删除之前的数据

下载同一个releases的三个安装包和source code的压缩包, 才能保证安装包和sql版本一致。



二、分布式环境

服务器A, 部署apollo-portal服务,此服务为总控制服务 ip: 192.168.88.10

服务器B, DEV开发环境, 部署 apollo-configservice 和 apollo-adminservice ip: 192.168.88.11

服务器C, FAT测试环境, 部署 apollo-configservice 和 apollo-adminservice ip: 192.168.88.12

服务器D, PRO生产环境, 部署 apollo-configservice 和 apollo-adminservice ip: 192.168.88.13

DEV、FAT、PRO,需要将服务(configservice, adminservice)和数据库配置,分别独立部署三份

服务默认端口
apollo-portal:8070 apollo-configservice:8080 apollo-adminservice: 8090



三、部署apollo-portal服务

apollo-portal部署一份服务即可,将apollo-portal-x.x.x-github.zip上传值服务器,解压

3.1 执行数据库脚本

apolloportaldb.sql

3.2 添加环境

打开ApolloPortalDB.serverconfig
apollo.portal.envs的value默认是dev,表示默认只有开发环境

修改为(不区分大小写) : dev,FAT,PRO 表示开启三个环境

3.3 添加meta.servers

打开ApolloPortalDB.serverconfig
找到key为apollo.portal.meta.servers的value默认是{},

说明:数据库中的apollo.portal.meta.servers的值和配置文件apollo-portal-x-github\config\apollo-env.properties的值, 是同一内容,只是数据库的优先级更高。

将配置文件apollo-portal-x-github\config\apollo-env.properties中默认的local.meta、dev.meta、fat.meta、… pro.meta 全部注释掉即可

修改数据库中的配置 apollo.portal.meta.servers 的value为: {"DEV":"http://192.168.88.11:8080", "FAT":"http://192.168.88.12:8080", "PRO":"http://192.168.88.13:8080"}

3.4 修改数据库地址

打开目录config/application-github.properties文件

spring.datasource.url = jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8
spring.datasource.username = root
spring.datasource.password = 123456

3.5 启动或者停止服务

portal服务目录下有scripts\startup.shscripts\shutdown.sh
如果如果已经安装了gitbash, 直接双击startup.sh即可启动。
启动可能失败,查看后面章节

说明:如果服务正在运行中, 手动修改了meta.servers 或数据库地址后,需要重启服务



四、DEV开发环境, 部署apollo-configservice 和 apollo-adminservice 服务;

将apollo-configservice-x.x.x-github.zip 和 apollo-adminservice-x.x.x-github.zip上传DEV开发服务器,解压

4.1 执行数据库脚本

apolloconfigdb.sql

4.2 配置eureka

打开ApolloConfigDB.serverconfig
找到key为eureka.service.url的value默认是http://localhost:8080/eureka/

如果使用默认eureka, eureka.service.url的值不需要修改
如果使用其他独立的eureka服务,可以弃用configservice自带的eureka, 直接将eureka.service.url的的value修改为独立的eureka服务url即可

4.3 修改数据库地址

打开configservice、adminservice这2个服务目录,目录都包含了config/application-github.properties文件

configservice、adminservice 这两个服务数据库都是 ApolloConfigDB,都修改成下面

spring.datasource.url = jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8
spring.datasource.username = root
spring.datasource.password = 123456

4.4 启动或者停止服务

configservice、adminservice这2个服务目录下均有scripts\startup.sh 、scripts\shutdown.sh;
如果如果已经安装了gitbash, configservice、adminservice都需要双击startup.sh启动
.启动可能失败,查看后面章节

说明:如果服务正在运行中, 手动修改了eureka.service.url 或数据库地址后,需要重启服务



五、FAT测试环境, 部署apollo-configservice 和 apollo-adminservice 服务;

分布式部署时,每种环境配置都是独立的, 只需要重复相同上面 四步骤 即可;

说明: 配置都是独立的,包含每种环境DEV、FAT、PRO、 数据库的db, 连接数据库配置,都是完全独立的,
apollo-configservice 和 apollo-adminservice 服务也是每种环境独立启动



六、PRO生产开发环境, 部署apollo-configservice 和 apollo-adminservice 服务;

重复相同上面 四步骤 即可;



七、访问管理端页面

访问apollo-portal服务,默认端口是8070:
http://192.168.88.10:8070/ 默认登录账号:apollo 默认密码:admin

登录成功后,右上角的菜单按钮,有系统信息按钮,查看健康检查是否都正常即可



八、startup.sh启动异常,修改日志目录 mkdir: cannot create directory ‘/opt’: Permission denied

每次执行startup.sh 可能出现没有权限,创建异常

mkdir: cannot create directory ‘/opt’: Permission denied

由于能力有限,这个创建异常未能解决,所以先重新指定日志文件路径,打开编辑scripts/startup.sh
分别修改为:
apollo-portal: LOG_DIR=D:/apollo/portal/log
apollo-configservice: LOG_DIR=D:/apollo/configservice/log
apollo-adminservice: LOG_DIR=D:/apollo/adminservice/log

无异常直接忽略此步骤



举报

相关推荐

0 条评论