前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Apollo - 企业级配置中心的快速部署

Apollo - 企业级配置中心的快速部署

作者头像
十毛
发布2019-03-27 15:22:09
1.4K0
发布2019-03-27 15:22:09
举报

Apollo作为成熟的分布式环境的配置中心,比Spring Cloud Config安装复杂很多,而且官方的安装文档因为考虑得特别全面,就写得很啰嗦,不方便我们快速部署。

部署简介

Apollo主要部署3个组件

  • Portal:管理配置的页面
  • Admin Service:配置管理服务(为Portal提供接口)
  • Config Service:配置服务(为客户端提供配置接口)

Apollo简化架构

下载部署包

  • 下载服务程序

下载页:https://github.com/ctripcorp/apollo/releases

代码语言:javascript
复制
wget https://github.com/ctripcorp/apollo/releases/download/v1.3.0/apollo-portal-1.3.0-github.zip
wget https://github.com/ctripcorp/apollo/releases/download/v1.3.0/apollo-adminservice-1.3.0-github.zip
wget https://github.com/ctripcorp/apollo/releases/download/v1.3.0/apollo-configservice-1.3.0-github.zip
wget 
  • 下载SQL文件
代码语言:javascript
复制
wget https://raw.githubusercontent.com/ctripcorp/apollo/master/scripts/db/migration/portaldb/V1.0.0__initialization.sql -O portaldb.sql
wget https://raw.githubusercontent.com/ctripcorp/apollo/master/scripts/db/migration/configdb/V1.0.0__initialization.sql -O configdb.sql

部署Config Service

Config Service需要在每个环境都部署一套(DB + Config Service) Config Service需要在每个环境都部署一套(DB + Config Service) Config Service需要在每个环境都部署一套(DB + Config Service)

数据库

MySQL: 5.6.5+

  • 导入
代码语言:javascript
复制
source configdb.sql
  • 验证
代码语言:javascript
复制
select `Id`, `Key`, `Value`, `Comment` from `ApolloConfigDB`.`ServerConfig` limit 1;

Config Service

  • 解压
代码语言:javascript
复制
unzip apollo-configservice-1.3.0-github.zip -d configservice
  • 配置修改 configservice/config/application-github.properties
代码语言:javascript
复制
# DataSource
spring.datasource.url = jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8
spring.datasource.username = root
spring.datasource.password = 123456

注意账号、密码后面不要有空格

  • 启动
代码语言:javascript
复制
configservice/scripts/startup.sh

因为日志写到/opt/logs,需要保证该目录的读写权限,或者在startup.sh修改LOG_DIR

部署Admin Service

Admin Service需要在每个环境都部署一套(DB + Admin Service) Admin Service需要在每个环境都部署一套(DB + Admin Service) Admin Service需要在每个环境都部署一套(DB + Admin Service)

数据库

Admin Service与Config Service共用数据库,所以不再需要导入

Admin Service

  • 解压
代码语言:javascript
复制
unzip apollo-adminservice-1.3.0-github.zip -d adminservice
  • 配置修改 adminservice/config/application-github.properties
代码语言:javascript
复制
# DataSource
spring.datasource.url = jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8
spring.datasource.username = root
spring.datasource.password = 123456 

注意账号、密码后面不要有空格 这里数据库的配置与Config Service的一致

  • 启动
代码语言:javascript
复制
adminservice/srcripts/startup.sh

因为日志写到/opt/logs,需要保证该目录的读写权限,或者在startup.sh修改LOG_DIR

部署Portal

数据库

  • 导入
代码语言:javascript
复制
source portaldb.sql
  • 验证
代码语言:javascript
复制
select `Id`, `Key`, `Value`, `Comment` from `ApolloPortalDB`.`ServerConfig` limit 1;

Portal

  • 解压
代码语言:javascript
复制
unzip apollo-portal-1.3.0-github.zip -d portal
  • 修改配置 portal/config/application-github.properties
代码语言:javascript
复制
# DataSource
spring.datasource.url = jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8
spring.datasource.username = root
spring.datasource.password = 123456
  • 修改配置 portal/config/apollo-env.properties
代码语言:javascript
复制
local.meta=http://localhost:8080
dev.meta=http://192.168.58.101:8080
pro.meta=http://192.168.58.201:8080

假设Config Service分别部署在192.168.58.101和192.168.58.201上

  • 启动
代码语言:javascript
复制
portal/scripts/startup.sh

部署成功后访问

http://localhost:8070 默认用户名:apollo 默认密码:admin

初始始配置

初始登录后,Apollo还需要进行一些配置,否则可能出现问题。配置的方式 管理员工具 -> 系统参数

  • apollo.portal.envs - 可支持的环境列表 apollo.portal.envs设置为dev,pro ,跟portal/config/apollo-env.properties保持一致

系统参数修改

  • organizations - 部门列表
代码语言:javascript
复制
[{"orgId":"TEST1","orgName":"样例部门1"},{"orgId":"TEST2","orgName":"样例部门2"}]

其他常用配置

  • 端口修改:scripts/startup.sh
  • 日志地址: scripts/startup.shapollo-adminservice.conf, apollo-configservice.conf

常见问题

  • 部署完成后,环境列表中只看到一个DEV环境 管理工具 - 系统参数查询参数apollo.portal.envs后,只有dev,修改为dev,prod后保存

修改完成后需要重启Portal生效

  • 添加应用是只有默认的部门:管理工具 - 系统参数修改organizations

参考

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.03.11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 部署简介
  • 下载部署包
  • 部署Config Service
    • 数据库
      • Config Service
      • 部署Admin Service
        • 数据库
          • Admin Service
          • 部署Portal
            • 数据库
              • Portal
              • 部署成功后访问
              • 初始始配置
              • 其他常用配置
              • 常见问题
              • 参考
              相关产品与服务
              微服务引擎 TSE
              微服务引擎(Tencent Cloud Service Engine)提供开箱即用的云上全场景微服务解决方案。支持开源增强的云原生注册配置中心(Zookeeper、Nacos 和 Apollo),北极星网格(腾讯自研并开源的 PolarisMesh)、云原生 API 网关(Kong)以及微服务应用托管的弹性微服务平台。微服务引擎完全兼容开源版本的使用方式,在功能、可用性和可运维性等多个方面进行增强。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档