Apollo系列 -- 启动与运行

Author Avatar
AF_ 08月 17,2019
  • 使用微信扫码分享

环境

本次搭建使用的是我本地的虚拟机,环境配置如下:

  • Centos 7
  • JDK 1.8
  • Mysql 5.7
  • Apollo v1.4.0
hostnameip服务
lmf-centos7-1192.168.123.132portal
lmf-centos7-2192.168.123.133dev config&admin
lmf-centos7-3192.168.123.134pro config&admin
lmf-centos7-4192.168.123.135pro config&admin

本篇文章完成双环境的单节点部署与运行,集群部署下篇介绍


准备工作

  • 获取源码(自行构建源码,当然官方也提供了构建好的安装包)

    • github获取 Apollo 源码,本文使用1.4.0版本

    • 编译构建项目

    image.png

    scripts目录下提供了build构建脚本,根据自己的系统选择脚本并执行,即可在target目录下生成相应的zip包

  • 执行数据库脚本,初始化Apollo数据库

    image.png

    源码中为我们提供了数据库脚本,portal管理所有环境配置,只需要建立一个库,执行一次脚本(我执行在192.168.123.132portal所在机器的mysql数据库中),config和admin,各环境是独立的,所以有几个环境就需要有几个数据库,我们有dev和pro两个环境,分别执行在(dev:192.168.123.133和pro:192.168.123.134的mysql中)

    image.png

    • 修改portal配置,进入ApolloPortalDB的serverConfig表修改如下字段,value值改为支持的环境列表,我有两个环境dev和pro,所以这里修改为dev,pro

      image.png
  • 解压软件包并修改配置文件

    image.png

    • portal

      image.png

      metaServer即eureka注册中心地址,与ConfigService部署在同一JVM进程内,所以也是ConfigService的地址

    • config&admin

      image.png


  • 启动

    • 上传修改好配置的文件到对应服务器

    • 使用软件包内的启动脚本按顺序启动各服务器的服务,先启动各个环境的 ConfigServer 和 AdminServer,最后再启动Poratl。

      image.png

      注意赋予当前用户针对/opt目录的读写权限,因为apollo的日志以及一些缓存文件的默认路径在/opt目录下

    • 全部启动完成后,进入Portal(192.168.123.132:8070),默认用户名apollo,密码admin

      image.png

    • 登陆之后,创建一个测试测试项目

      image.png

    • 进入测试项目,可以看到左边栏显示DEVPRO两个相互隔离的环境配置,说明我的apollo-protal,dev环境config&admin,pro环境config&admin已经配置完成并且启动成功了!

      image.png