有问题可联系本人QQ:1016401546
参考官网链接:https://github.com/ctripcorp/apollo/wiki/%E5%88%86%E5%B8%83%E5%BC%8F%E9%83%A8%E7%BD%B2%E6%8C%87%E5%8D%97
注意:我的笔记是个简洁版的安装方式,没有官方文档那么繁琐,旨在成功安装和运行使用。
1、 运行时环境
机器:centos 7 两台
DEV环境:172.16.88.223 安装:apollo-admin 和 apollo-config
PRO环境:172.16.88.221 安装:apollo-admin 、apollo-config 和 apollo-portal
Java版本:1.8
我要部署的环境:开发环境(DEV)和生产环境(PRO)
Apollo目前支持以下环境:
Portal部署在生产环境的机房,通过它来直接管理FAT、UAT、PRO等环境的配置
2、安装MySQL
2.1 我安装的是mysql 5.7 ,两台机器都要安装,因为不同的环境使用独立的MySQL。
参考MySQL安装连接:https://blog.csdn.net/MYF12/article/details/78110419
后者yum安装参考:https://www.cnblogs.com/wwjj4811/p/12793318.html
2.2 导入Apollo数据
下载Apollo 安装包:(可去我主页搜索,有该资源)
我是通过安装包直接解压安装的:
下载链接:https://github.com/ctripcorp/apollo/releases
mkdir /data/apollo -p
wget https://github.com/ctripcorp/apollo/releases/download/v1.7.1/apollo-adminservice-1.7.1-github.zip
wget https://github.com/ctripcorp/apollo/releases/download/v1.7.1/apollo-configservice-1.7.1-github.zip
wget https://github.com/ctripcorp/apollo/releases/download/v1.7.1/apollo-portal-1.7.1-github.zip
可能下载的很慢。
1、部署PRO环境
导入ApolloPortalDB数据
SQL查看链接:https://github.com/ctripcorp/apollo/blob/master/scripts/sql/apolloportaldb.sql(把SQL复制下来即可)
登录MySQL导入:source /tmp/apolloportaldb.sql(会自动创建数据库)
导入成功后,可以通过执行以下sql语句来验证:
select `Id`, `Key`, `Value`, `Comment` from `ApolloPortalDB`.`ServerConfig` limit 1;
默认只有dev环境
Id |
Key |
Value |
Comment |
1 |
apollo.portal.envs |
dev |
可支持的环境列表 |
注:ApolloPortalDB只需要在生产环境部署一个即可
导入ApolloConfigDB数据
SQL查看链接:https://github.com/ctripcorp/apollo/blob/master/scripts/sql/apolloconfigdb.sql
登录MySQL导入:source /tmp/apolloconfigdb.sql(会自动创建数据库)
导入成功后,可以通过执行以下sql语句来验证:
select `Id`, `Key`, `Value`, `Comment` from `ApolloConfigDB`.`ServerConfig` limit 1;
Id |
Key |
Value |
Comment |
1 |
eureka.service.url |
http://127.0.0.1:8080/eureka/ |
Eureka服务Url |
注:ApolloConfigDB需要在每个环境部署一套,如fat、uat和pro分别部署3套ApolloConfigDB
这里填入该环境的eureka服务地址,如我pro环境地址是172.16.88.221,那么我把`ApolloConfigDB`.`ServerConfig`的value修改成172.16.88.221,如果端口号改了也要一起改
update `ApolloConfigDB`.`ServerConfig` set `Value` = 'http://172.16.88.221:8080/eureka/' where `Key` = 'eureka.service.url';
安装apollo-configservice
cd /data/apollo
mkdir apollo-config
mv apollo-configservice-1.7.1-github.zip apollo-config
cd apollo-config
unizp apollo-configservice-1.7.1-github.zip
vim config/application-github.properties
# DataSource ,我用的是root,你可以创建一个其他用户,但前提有权限访问
# 记得添加&serverTimezone=GMT,否则启动报错
spring.datasource.url = jdbc:mysql://172.16.88.221:3306/ApolloConfigDB?characterEncoding=utf8&serverTimezone=GMT
spring.datasource.username = root
spring.datasource.password = 123456
启动:./scripts/startup.sh
停止:./scripts/shutdown.sh
如果要修改其他端口可以,但是修改之后数据库的配配置也要修改:
vim ./scripts/startup.sh
SERVER_PORT=${SERVER_PORT:=8082}
安装apollo-adminservice
cd /data/apollo
mkdir apollo-admin
mv pollo-adminservice-1.7.1-github.zip apollo-admin
unizp pollo-adminservice-1.7.1-github.zip
vim config/application-github.properties
# DataSource ,我用的是root,你可以创建一个其他用户,但前提有权限访问
spring.datasource.url = jdbc:mysql://172.16.88.221:3306/ApolloConfigDB?characterEncoding=utf8&serverTimezone=GMT
spring.datasource.username = root
spring.datasource.password = 123456
启动:./scripts/startup.sh
停止:./scripts/shutdown.sh
如果要修改其他端口可以,但是修改之后数据库的配配置也要修改:
vim ./scripts/startup.sh
SERVER_PORT=${SERVER_PORT:=8090}
安装apollo-portal
portal相当于一个管理页面,就算重启也不会影响组件获取配置,因为组件获取配置链接的是对应环境的apollo configservice 端口获取的,所以portal只需要部署一个即可。portal部署到外网也可以,adminservice和configservice 一定要部署到内网。
cd /data/apollo
mkdir apollo-portal
mv pollo-portal-1.7.1-github.zip apollo-portal
unizp pollo-portal-1.7.1-github.zip
vim config/application-github.properties
# DataSource ,我用的是root,你可以创建一个其他用户,但前提有权限访问
spring.datasource.url = jdbc:mysql://172.16.88.223:3306/ApolloPortalDB?characterEncoding=utf8&serverTimezone=GMT
spring.datasource.username = root
spring.datasource.password = 123456
启动:./scripts/startup.sh
停止:./scripts/shutdown.sh
如果要修改其他端口可以,但是修改之后数据库的配配置也要修改:
vim ./scripts/startup.sh
SERVER_PORT=${SERVER_PORT:=8070}
全部启动之后,可以打开172.16.88.221:8070验证下是否正常登陆。
账号密码:apollo/admin
2、部署DEV环境
方法和安装PRO一样,但只需要安装apollo-configservice 和 apollo-adminservice,数据库改成本机的数据库。
安装完了之后启动 apollo config 和 apollo admin。
需要修改的配置:
apollo.portal.envs --环境列表
apollo.portal.meta.servers --环境地址
organizations --部门
登陆apollo portal页面
http://172.16.88.221:8070
右上角:【管理员工具】--【系统参数】
输入:apollo.portal.envs ,点击查询
apollo.portal.envs 默认是只有dev,我们修改为DEV,PRO(大小写不敏感),然后点击【保存】,就会覆盖原来的配置。
上面说一分钟后自动生效,但是我的没有生效,是重启了portal才生效的。
修改:apollo.portal.meta.servers
{
"DEV":"http://172.16.88.223:8082", 因为我8080端口被占用了,所以改成了8082端口
"PRO":"http://172.16.88.221:8082"
}
其他的配置参数可以参考官方文档的2.1.3.1节
特别需要注意这个文件:apollo-portal/config/apollo-env.properties
这个配置文件也是配置各环境的configservice地址的,但是 apollo.portal.meta.servers 优先级大于配置文件,也就是说如果apollo.portal.meta.servers 配置了会先使用apollo.portal.meta.servers 的。如果apollo.portal.meta.servers 没有则读取配置文件的
上面配置完,重启portal之后,在 【管理员工具】 -- 【系统信息】 可以看到所有环境连接情况。
如果你在apollo.portal.envs配置了其他的环境这里也会显示出来,我只配置了DEV和PRO
修改:organizations
这个部门配置会出现在你新建项目的管理部门里面。