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。

欢迎大家关注我的微信公众号,一起学习进步!

留言分享你的经验....

Apollo配置中心热加载mysql_Apollo 配置中心部署注意事项相关推荐

  1. Apollo配置中心热加载mysql_Apollo配置中心介绍

    1.What is Apollo 1.1 背景 随着程序功能的日益复杂,程序的配置日益增多:各种功能的开关.参数的配置.服务器的地址-- 对程序配置的期望值也越来越高:配置修改后实时生效,灰度发布,分 ...

  2. Apollo配置中心热加载mysql_apollo配置中心开发指南

    一.准备工作 1.本地运行时环境 Java: 1.8+ MySQL: 5.6.5+ 二.本地启动 1.Apollo Config Service和Apollo Admin Service 在本地开发时 ...

  3. spring boot:从零开始搭建一个项目 - day 7 springboot devtools热加载+MybatisPlus配置+kisso从入门到放弃

    spring boot:从零开始搭建一个项目 - day 7 springboot devtools热加载+MybatisPlus配置+kisso从入门到放弃 一.springboot devtool ...

  4. go使用viper读取配置参数热加载

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 热加载 项目结构 base.yaml config.go main.go 演示 热加载 热加载和热部署是软件开发中经常使用的概念 ...

  5. 后端技术:SpringBoot配置热加载工具(devtools)笔记

    今天给大家介绍IDEA开发工具如何配置devtools热加载工具. 1.devtools原理介绍 spring-boot-devtools是spring为开发者提供的热加载工具包. 主要原理是使用了两 ...

  6. 2.14 加载Firefox配置

    2.14 加载Firefox配置(略,已在2.1.8讲过,请查阅2.1.8节课) 回到顶部 2.14-1 加载Chrome配置 一.加载Chrome配置 chrome加载配置方法,只需改下面一个地方, ...

  7. spring boot的热加载(hotswap)

    官网上是叫hotswap,有人翻译成热部署,有人翻译成热加载 个人倾向于使用热加载在这个词,和谷歌翻译的热插拔相似. 关于个人理解 http://www.cnblogs.com/ptqueen/p/8 ...

  8. Nacos Spring Cloud 实现配置热加载

    0x01:安装 Nacos 下载安装包, https://github.com/alibaba/nacos/releases 从下载 nacos-server-$version.zip 安装包. 解压 ...

  9. nginx多进程模型之配置热加载---转

    http://blog.csdn.net/brainkick/article/details/7176405 前言: 服务器程序通常都会通过相应的配置文件来控制服务器的工作.很多情况下,配置文件会经常 ...

最新文章

  1. CentOS7.4下DNS服务器软件BIND安装及相关的配置(一)
  2. Microsoft MSDN Windows 8 各版本下载
  3. win10内核linux,windows 10中发布完整的Linux内核
  4. python利用opencv标注bounding box
  5. 牛客题霸 判断链表中是否有环 C++题解/答案
  6. C# Select SelectMany 区别
  7. 吴恩达|机器学习作业4.0神经网络反向传播(BP算法)
  8. 查看系统中支持CUDA的设备数量和属性---deviceQuery示例
  9. 第五章 搭建开发板的测试环境
  10. 深入浅出的mysql第三版和第二版的区别_1.高性能MySQL(第3版) 2. 深入浅出MySQL 合集 完整版 高清...
  11. 网银安全控件远程代码执行漏洞分析
  12. mfc服务器发送信息失败10057,基于MFC的局域网聊天工具.doc
  13. (附源码)ssm天天超市购物网站 毕业设计 022101
  14. java文件复制后是乱码_复制Java源文件到MyEclipse后乱码问题怎么解决?
  15. 用户密码MD5和SHA加密
  16. 电信路由器怎么设置虚拟服务器,电信路由器怎么设置 如何设置电信路由器
  17. 第1章思维导图图片版
  18. android 信息(mms)的故事(五)-- 发彩信
  19. 计算机网络域名解析,域名解析是什么意思?
  20. loadrunner Web_类函数之web_reg_save_param_ex()

热门文章

  1. 09-03-06 FreeEIM 姗姗来迟
  2. 全新的企业通讯软件 FreeEIM 2.0
  3. Dell 电话技术支持工程师答用户问(暴笑)
  4. 2个程序员街头卖唱,挽救了自己的秃头
  5. 近10万人基因组数据!美国All of Us项目发布首批人群队列数据
  6. 单细胞分析Seurat使用相关的10个问题答疑精选!
  7. 赠你一只金色的眼 - 富集分析和表达数据可视化
  8. mac远程怎么操作?苹果电脑怎么远程协助?
  9. 计算机类自主招生推荐信,自主招生推荐信范文:中国人民大学自主招生推荐信...
  10. python购物车典例_Python实现的购物车功能示例