2019 年 12 月份的时候写过一篇文章 Apollo 配置中心初探,当时刚接触 apollo,使用还不是很熟练,只是快速的部署出来了。随后在业务快速迭代的过程中,使用 apollo 的频率越来越高,了解也越来越深入。后来还转载过一篇文章微服务架构~携程Apollo配置中心架构剖析,对 Apollo 的架构解说的很详细,可以让你迅速的掌握配置中心的核心精髓。
近期,随着新系统的上线,由开发工程师提需求,需要用 Apollo 配置中心来管理配置,然后我们运维部这边迅速的部署出来了。在部署的过程中,也遇到过一些有趣的问题,算是积累了一些经验。
最开始,还是想在测试环境快速部署出来,打算用 Quick Start 的程序来启动(https://github.com/ctripcorp/apollo/wiki/Quick-Start),数据库导入之后检查8080 端口(lsof -i:8080),才发现本地的 tomcat 已经占用了 8080(结果就是 demo.sh 脚本执行报错),而且该端口还和外部系统有交互,基本不太可能更换 tomcat 的 8080 端口。此时 Apollo 和 tomcat 复用一台机器(资源有限,节约成本),如果换台机器也能避免端口冲突了。另外一种解决办法,就是换 apollo 的 8080 端口,但是 Quick Start 方式启动的服务中,端口是固定的,无法手动指定。此路不通,只能想其他办法了。
查阅官方文档后,发现用分布式部署的包启动 apolloconfig 服务,可以指定端口(https://github.com/nobodyiam/apollo-build-scripts),下载 1.7.1 版本的三个压缩包并解压。前面的准备工作,官方和前面的文章都提到过了,就是java 环境、mysql 数据库版本、数据库导入这几步。
1、如果要修改端口的话,修改配置文件
apollo-configservice/scripts/startup.sh
apollo-adminservice/scripts/startup.sh
apollo-portal/scripts/startup.sh
2、修改apollo-configservice 服务的数据库配置文件
apollo-configservice/config/application-github.properties
修改 apollo-adminservice 服务的数据库配置
apollo-adminservice/config/application-github.properties
修改 apollo-portal 服务的数据库配置
apollo-portal/config/apollo-env.properties
apollo-portal/config/application-github.properties
注意:
(1) 如果修改了 apollo-configservice 端口,记得修改 apolloconfigdb 数据库中 Eureka 的地址,否则其他服务注册不上去,apolloadminservice、apolloportalservice 可以启动,但是 Apollo 界面右上角会提示系统错误。
(2) 由于开发本地电脑资源不足,本地开发环境也需要用 apollo,所以测试环境的 apollo 跑了 DEV 环境和 FAT 环境。是通过分布式部署包启动的,准备apollo-configservice-fat 数据库(注意数据库是否区分大小写,建议不区分),修改了 apollo-configservice 的端口。
修改sql,生产 apollo-configservice-fat 数据库
cp -r apollo-configservice apollo-configservice-fat
cp -r apollo-adminservice apollo-adminservice-fat
修改了 apollo-configservice-fat 端口
vim apollo-configservice-fat/scripts/startup.sh
修改了 apollo-configservice-fat 数据库配置
apollo-configservice-fat/config/application-github.properties
修改了 apollo-adminservice-fat 端口
vim apollo-adminservice-fat/scripts/startup.sh
修改了 apollo-adminservice-fat 数据库配置
vim apollo-adminservice-fat/config/application-github.properties
(3) 注意服务启动顺序,apollo-configservice、apollo-configservice-fat、apollo-adminservice、apollo-adminservice-fat、apollo-portal。
欢迎大家关注我的微信公众号,一起学习进步!
留言分享你的经验....