组件介绍
1 2 |
apollo-configservice:提供配置获取接口,提供配置更新推送接口,接口服务对象为Apollo客户端 apollo-adminservice:提供配置管理接口,提供配置修改、发布等接口,接口服务对象为Portal,以及Eureka |
1 2 3 4 5 6 7 8 9 10 |
在Eureka之上我们架了一层Meta Server用于封装Eureka的服务发现接口 Client通过域名访问Meta Server获取Config Service服务列表(IP+Port),而后直接通过IP+Port访问服务,同时在Client侧会做load balance、错误重试 Portal通过域名访问Meta Server获取Admin Service服务列表(IP+Port),而后直接通过IP+Port访问服务,同时在Portal侧会做load balance、错误重试 为了简化部署,我们实际上会把Config Service、Eureka和Meta Server三个逻辑角色部署在同一个JVM进程中 Config Service 和 Admin Service 启动后都会注册到 Eureka 服务注册中心,并定期发送保活心跳。Eureka采用集群方式部署,使用分布式一致性协议保证每个实例的状态最终一致。 apollo-portal:提供Web界面供用户管理配置 apollo-client:Apollo提供的客户端程序,为应用提供配置获取、实时更新等功能 |


官方安装文档:
1、安装jdk1.8以上版本
2、安装mysql5.65以上版本
3、安装包下载
1 |
https://github.com/ctripcorp/apollo/releases |

1 2 3 4 |
protal是界面。 adminservice和configservice 各复制4份作为 开发 测试 预生产 生产。 |
1 2 3 4 5 6 7 8 9 10 |
在centos7下创建文件夹(当前本人只暂时用到这些环境) mkdir -p /usr/local/apollo/{dev,fat,protal,pro,uat}/{adminservice,configservice} 注: dev:开发 fat:功能测试 uat:集成测试 protal:预生产 pro:生产 |

下载分发安装包文件到各个对应目录
1 2 3 4 5 |
wget https://github.com/ctripcorp/apollo/releases/download/v1.8.2/apollo-adminservice-1.8.2-github.zip wget https://github.com/ctripcorp/apollo/releases/download/v1.8.2/apollo-configservice-1.8.2-github.zip wget https://github.com/ctripcorp/apollo/releases/download/v1.8.2/apollo-portal-1.8.2-github.zip |
1 |
将上面的压缩包放到对应环境的目录里。并依次解压 |

4、创建数据库
Apollo服务端共需要两个数据库:ApolloPortalDB和ApolloConfigDB,我们把数据库、表的创建和样例数据都分别准备了sql文件,只需要导入数据库即可。
1 |
需要注意的是ApolloPortalDB只需要在生产环境部署一个即可,而ApolloConfigDB需要在每个环境部署一套(每个环境对应一个数据库),如fat、uat和pro分别部署3套ApolloConfigDB。 |
1 2 3 4 5 6 7 |
create database apolloConfig_dev charset utf8; create database apolloConfig_fat charset utf8; create database apolloConfig_protal charset utf8; create database apolloConfig_pro charset utf8; create database apolloConfig_uat charset utf8; create database apolloPortal_db charset utf8; |
导入sql文件
1 2 |
#下载sql脚本 https://github.com/ctripcorp/apollo/tree/master/scripts/sql |
1 2 3 4 5 6 7 8 9 10 |
#依次导入各个config数据库的数据文件 use xxx; set names utf8;#根据情况设定 source /root/ruanjian/sql/apolloconfigdb.sql commit; use apolloPortal_db; source /root/ruanjian/sql/apolloportaldb.sql commit; |
1 |
5、修改配置文件
5.1 Dev adminservice配置修改数据库连接串
1 |
vim /usr/local/apollo/dev/adminservice/config/application-github.properties |
1 2 3 4 |
# DataSource spring.datasource.url = jdbc:mysql://localhost:3306/apolloConfig_dev?characterEncoding=utf8 spring.datasource.username = root spring.datasource.password = 123456 |
1 |
注意:这里要把连接的数据库修改为上面建立的各个环境对应的数据库名称 |
5.2 Dev adminservice配置修改端口(默认8090)
1 |
vim /usr/local/apollo/dev/adminservice/scripts/startup.sh |

1 |
我这里修改为8083 |
5.3 DEV configservice配置修改(数据库连接串)
1 |
vim /usr/local/apollo/dev/configservice/config/application-github.properties |
1 2 3 4 |
# DataSource spring.datasource.url = jdbc:mysql://localhost:3306/apolloConfig_dev?characterEncoding=utf8 spring.datasource.username = root spring.datasource.password = 123456 |
1 |
注意:这里要把连接的数据库修改为上面建立的各个环境对应的数据库名称 |
5.4 DEV configservice 修改startup.sh(端口默认8080)
1 |
vim /usr/local/apollo/dev/configservice/scripts/startup.sh |

这里修改为8082
按照上面修改DEV的方式,一次修改FAT UAT PRO环境(当前本人只用到这些环境暂时这样)
1 2 3 4 5 6 7 8 9 10 11 12 |
DEV configservice:port 8082 adminservice:port 8083 FAT configservice:port 8084 adminservice:port 8085 UAT configservice:port 8086 adminservice:port 8087 PRO configservice:port 8088 adminservice:port 8089 |
样板路径参考
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
vim /usr/local/apollo/fat/adminservice/config/application-github.properties vim /usr/local/apollo/fat/adminservice/scripts/startup.sh vim /usr/local/apollo/fat/configservice/config/application-github.properties vim /usr/local/apollo/fat/configservice/scripts/startup.sh vim /usr/local/apollo/uat/adminservice/config/application-github.properties vim /usr/local/apollo/uat/adminservice/scripts/startup.sh vim /usr/local/apollo/uat/configservice/config/application-github.properties vim /usr/local/apollo/uat/configservice/scripts/startup.sh vim /usr/local/apollo/pro/adminservice/config/application-github.properties vim /usr/local/apollo/pro/adminservice/scripts/startup.sh vim /usr/local/apollo/pro/configservice/config/application-github.properties vim /usr/local/apollo/pro/configservice/scripts/startup.sh |
1 2 3 4 |
# DataSource spring.datasource.url = jdbc:mysql://localhost:3306/apolloConfig_fat?characterEncoding=utf8 spring.datasource.username = root spring.datasource.password = 123456 |
5.5 Porto修改
1 2 |
cp /root/ruanjian/apollo/apollo-portal-1.8.2-github.zip /usr/local/apollo/protal #解压开始配置 |
配置数据库连接串
1 |
vim /usr/local/apollo/protal/config/application-github.properties |
1 2 3 4 |
spring.datasource.url = jdbc:mysql://localhost:3306/apolloPortal_db?characterEncoding=utf8 spring.datasource.username = root spring.datasource.password = 123456 |
配置(configservice地址)
1 |
vim /usr/local/apollo/protal/config/apollo-env.properties |
1 2 3 4 5 6 |
local.meta=http://localhost:8080 dev.meta=http://192.168.0.67:8082 fat.meta=http://192.168.0.67:8084 uat.meta=http://192.168.0.67:8086 lpt.meta=${lpt_meta} pro.meta=http://192.168.0.67:8088 |
端口修改
1 |
vim /usr/local/apollo/protal/scripts/startup.sh |

1 |
我这里修改为8070 |
6、配置数据库
1 |
DEV FAT UAT PRO各自数据库,配置服务中心configservice地址 |
例: 如下图为dev环境

1 |
需要注意的是每个环境只填入自己环境的eureka服务地址,比如FAT的apollo-configservice是192.168.0.67:8084,UAT的apollo-configservice是192.168.0.67:8088,PRO的apollo-configservice是192.168.0.67:8086/eureka/ |
1 |
1 2 3 4 5 6 7 8 |
use apolloConfig_dev; update ServerConfig set value='http://192.168.0.67:8082/eureka/' where id =1; use apolloConfig_fat; update ServerConfig set value='http://192.168.0.67:8084/eureka/' where id =1; use apolloConfig_pro; update ServerConfig set value='http://192.168.0.67:8086/eureka/' where id =1; use apolloConfig_uat; update ServerConfig set value='http://192.168.0.67:8088/eureka/' where id =1; |
Portal中配置对应的环境(不区分大小写,这个会对应portal的startup文中配置的)

1 2 |
use apolloPortal_db; update ServerConfig set value='DEV,FAT,UAT,PRO' where id =1; |
7、启动各个环境
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#!/bin/bash echo "------启动dev-----" /usr/local/apollo/dev/configservice/scripts/startup.sh /usr/local/apollo/dev/adminservice/scripts/startup.sh echo "------启动fat-----" /usr/local/apollo/fat/configservice/scripts/startup.sh /usr/local/apollo/fat/adminservice/scripts/startup.sh echo "------启动uat-----" /usr/local/apollo/uat/configservice/scripts/startup.sh /usr/local/apollo/uat/adminservice/scripts/startup.sh echo "------启动pro-----" /usr/local/apollo/pro/configservice/scripts/startup.sh /usr/local/apollo/pro/adminservice/scripts/startup.sh |

启动完查看服务情况。因为eureka实在configservice中集成的所以直接访问configservice的地址 我的地址是:
1 |
http://192.168.0.67:8082/ |

1 |
8.待各个环境启动完后。再启动Portal
1 2 |
echo "----启动protal----" /usr/local/apollo/protal/scripts/startup.sh |
9.全部启动完后就可以登录apollo后台了(portal地址)
1 2 3 |
http://192.168.0.67:8070/ 默认账号密码(apollo admin) |

10.添加部门
管理员工具->系统参数->输入organizations 查询

添加部门
1 |
[{"orgId":"TEST1","orgName":"我的部门1"},{"orgId":"TEST2","orgName":"我的部门2"},{"orgId":"TEST3","orgName":"我的部门3"},{"orgId":"TEST4","orgName":"我的部门4"}] |
保存

1 |
原文摘自:https://www.cnblogs.com/wudequn/p/13657430.html 有改动 |
- 本文固定链接: https://www.yoyoask.com/?p=5529
- 转载请注明: shooter 于 SHOOTER 发表