Apollo安装教程

目录

一、背景

二、Apollo简介

三、安装包准备

四、安装Apollo

4.1环境准备

4.2 软件准备

4.2.1 JDK安装

4.2.2 MySQL安装

4.3 部署开发环境

4.4 启动脚本

 五、环境测试

 六、Springboot集成Apollo配置中心

6.1 客户端(具体应用的项目)的修改

6.1.1 pom文件

6.1.2 启动类增加Apollo客户端

6.1.3 在application.yml增加配置

6.2 在Apollo配置中心增加项目

 七、参考文献


一、背景

为了保证自己的开发环境和测试环境的一致性,决定自行搭建一套Apollo开发环境玩玩,中间有些许坎坷,但是还好,一下午就搞定了,总体来说,不是很难。参考文献很多,总体来说按照他们的步骤一步一步来,问题不大。特记录如下:

二、Apollo简介

Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。

三、安装包准备

  1. 自行在官网下载:Index of /dist/activemq/activemq-apollo/1.7.1

          或者在我的资源下载(审核通过):

Apollo(阿波罗)开源分布式配置中心(含教程).zip-Java文档类资源-CSDN下载

        我的资源下载得到3个文件夹、2个SQL和一个安装说明

        apollo-configservice

        apollo-adminservice

        apollo-portal

        apollo-portal.sql

        apollo-config.sql

         readme.md

注意:本次部署使用的是1.5.1版本,如果觉得旧,可以下载安装1.7.1或者更高的版本

四、安装Apollo

4.1环境准备

本次部署测试环境

应用服务器

环境

服务器

服务

端口

  测试

127.0.0.1

apollo-portal

30070

127.0.0.1

apollo-configservice

30080

127.0.0.1

apollo-adminservice

30090

数据库服务

环境

服务器

服务

数据库

端口

测试

127.0.0.1

apollo-portal

ApolloPortalDB

3306

apollo-configservice

ApolloConfigDBPro

3306

注意:1、127.0.0.1修改为自己的具体IP地址;2、可以根据情况进行分布式部署。

4.2 软件准备

4.2.1 JDK安装

官方文档显示jdk至少要1.8的

查看是否安装jdk    java -version

未安装jdk的需要重新安装

安装教程:https://blog.csdn.net/m0_37824308/article/details/121628390

4.2.2 MySQL安装

使用mysql -version查看是否安装mysql

未安装请自行安装

4.3 部署开发环境

在127.0.0.1 的/home/work下新建目录apollo

cd /home/work

mkdir apollo && cd apollo

将apollo-configservice、apollo-adminservice和apollo-portal文件夹拖到apollo目录下

修改配置文件(也可以修改完再上传,免得麻烦)

修改configservice的数据库:

vi apollo-configservice-1.5.1/config/application-github.properties

# DataSource  修改为自己数据库的IP:端口号

spring.datasource.url = jdbc:mysql://127.0.0.1:3306/apolloconfigdb?characterEncoding=utf8

spring.datasource.username = root

spring.datasource.password = abc123456

修改adminservice的数据库:

vi apollo-adminservice-1.5.1/config/application-github.properties

# DataSource  修改为自己数据库的IP:端口号

spring.datasource.url = jdbc:mysql://127.0.0.1:3306/apolloconfigdb?characterEncoding=utf8

spring.datasource.username = root

spring.datasource.password = abc123456

修改portal的数据库:

# DataSource  修改为自己数据库的IP:端口号

spring.datasource.url = jdbc:mysql://127.0.0.1:3306/apolloportaldb?characterEncoding=utf8

spring.datasource.username = root

spring.datasource.password = abc123456

导入apollo-config.sql和apollo-portal.sql脚本到数据库127.0.0.1

注意:需要修改apolloconfig的ServerConfig表的eureka.service.url值为自己部署服务的ip端口,如果是集群模式,写多个eureka的地址。因为Apllo自带eureka,所以可以选择不使用自己的eureka。

Apollo安装教程_第1张图片

还需要修改apollo-portal的配置服务

vi apollo-portal-1.5.1/config/apollo-env.properties,只留下dev的注释掉其他几个环境的

local.meta=http://localhost:30080

dev.meta=http://localhost:30080

#fat.meta=http://fill-in-fat-meta-server:8080

#uat.meta=http://fill-in-uat-meta-server:8080

lpt.meta=${lpt_meta}

#pro.meta=http://fill-in-pro-meta-server:8080

4.4 启动脚本

注意:不建议使用安装包自带的starup.sh启动,脚本有问题(能力有限,没有细看)

启动顺序configservice->adminservice->portal
nohup java -Dserver.port=30080 -Deureka.instance.ip-address=127.0.0.1 -Deureka.instance.homePageUrl=http://127.0.0.1:30080 -jar apollo-configservice-1.5.1.jar  &

nohup java -Dserver.port=30090 -Deureka.instance.ip-address=127.0.0.1 -Deureka.instance.homePageUrl=http://127.0.0.1:30090 -jar apollo-adminservice-1.5.1.jar &

nohup java -Dserver.port=30070 -jar apollo-portal-1.5.1.jar &

带参数启动(推荐):
cd /mydata/apollo-1.5.1/apollo-configservice-1.5.1/
nohup java -Xmx256m -Xms256m -Xmn128m -Dserver.port=30080 -Deureka.instance.ip-address=127.0.0.1  -jar apollo-configservice-1.5.1.jar &

cd /mydata/apollo-1.5.1/apollo-adminservice-1.5.1/
nohup java -Xmx256m -Xms256m -Xmn128m -Dserver.port=30090 -Deureka.instance.ip-address=127.0.0.1 -jar apollo-adminservice-1.5.1.jar &

cd /mydata/apollo-1.5.1/apollo-portal-1.5.1/
nohup java -Xmx512m -Xms512m -Xmn256m -Dserver.port=30070 -jar apollo-portal-1.5.1.jar &

每个命令输入后等2min再启动下一个服务,因为有依赖关系。

当然加jvm参数启动的命令参考如下(从startup.sh copy来的),不建议加一大堆这样参数,毕竟自己使用
nohup java -XX:ParallelGCThreads=4 -XX:MaxTenuringThreshold=9 -XX:+DisableExplicitGC -XX:+ScavengeBeforeFullGC -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+ExplicitGCInvokesConcurrent -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Duser.timezone=Asia/Shanghai -Dclient.encoding.override=UTF-8 -Dfile.encoding=UTF-8 -Djava.security.egd=file:/dev/./urandom -Dserver.port=30080 -Dlogging.file=/opt/logs/100003171/apollo-configservice.log -XX:HeapDumpPath=/opt/logs/100003171/HeapDumpOnOutOfMemoryError/ -XX:+UseParNewGC -Xloggc:/opt/logs/100003171/gc.log -XX:+PrintGCDetails -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=60 -XX:+CMSClassUnloadingEnabled -XX:+CMSParallelRemarkEnabled -XX:CMSFullGCsBeforeCompaction=9 -XX:+CMSClassUnloadingEnabled  -XX:+PrintGCDateStamps -XX:+PrintGCApplicationConcurrentTime -XX:+PrintHeapAtGC -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=5M -Deureka.instance.ip-address=127.0.0.1 -Deureka.instance.homePageUrl=http://127.0.0.1:30080 -jar apollo-configservice-1.5.1.jar &

nohup java -XX:ParallelGCThreads=4 -XX:MaxTenuringThreshold=9 -XX:+DisableExplicitGC -XX:+ScavengeBeforeFullGC -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+ExplicitGCInvokesConcurrent -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Duser.timezone=Asia/Shanghai -Dclient.encoding.override=UTF-8 -Dfile.encoding=UTF-8 -Djava.security.egd=file:/dev/./urandom -Dserver.port=30090 -Dlogging.file=/opt/logs/100003172/apollo-configservice.log -XX:HeapDumpPath=/opt/logs/100003172/HeapDumpOnOutOfMemoryError/ -XX:+UseParNewGC -Xloggc:/opt/logs/100003172/gc.log -XX:+PrintGCDetails -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=60 -XX:+CMSClassUnloadingEnabled -XX:+CMSParallelRemarkEnabled -XX:CMSFullGCsBeforeCompaction=9 -XX:+CMSClassUnloadingEnabled  -XX:+PrintGCDateStamps -XX:+PrintGCApplicationConcurrentTime -XX:+PrintHeapAtGC -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=5M -Deureka.instance.ip-address=127.0.0.1 -Deureka.instance.homePageUrl=http://127.0.0.1:30090 -jar apollo-adminservice-1.5.1.jar &

nohup java -XX:ParallelGCThreads=4 -XX:MaxTenuringThreshold=9 -XX:+DisableExplicitGC -XX:+ScavengeBeforeFullGC -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+ExplicitGCInvokesConcurrent -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Duser.timezone=Asia/Shanghai -Dclient.encoding.override=UTF-8 -Dfile.encoding=UTF-8 -Djava.security.egd=file:/dev/./urandom -Dserver.port=30070 -Dlogging.file=/opt/logs/100003173/apollo-configservice.log -XX:HeapDumpPath=/opt/logs/100003173/HeapDumpOnOutOfMemoryError/ -XX:+UseParNewGC -Xloggc:/opt/logs/100003173/gc.log -XX:+PrintGCDetails -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=60 -XX:+CMSClassUnloadingEnabled -XX:+CMSParallelRemarkEnabled -XX:CMSFullGCsBeforeCompaction=9 -XX:+CMSClassUnloadingEnabled  -XX:+PrintGCDateStamps -XX:+PrintGCApplicationConcurrentTime -XX:+PrintHeapAtGC -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=5M -jar apollo-portal-1.5.1.jar &

 五、环境测试

eureka注册服务查看:http://{自己的IP}:30080/

Apollo安装教程_第2张图片

Apollo后台查看

http://{自己的IP地址}:30070/   账号/密码  apollo/admin

 Apollo安装教程_第3张图片

 六、Springboot集成Apollo配置中心

6.1 客户端(具体应用的项目)的修改

6.1.1 pom文件


    
      com.ctrip.framework.apollo
      apollo-client
      1.6.0
    

6.1.2 启动类增加Apollo客户端

//在springboot启动类上方加入@EnableApolloConfig注解
@EnableApolloConfig
@SpringBootApplication
public class GoogleApplication {

  public static void main(String[] args) {
    SpringApplication.run(GoogleApplication.class, args);
  }
}

6.1.3 在application.yml增加配置

app:
  id: spring-demo
apollo:
# 修改为自己的Apollo地址的IP
  meta: http://127.0.0.1:30080/
  bootstrap:
    enabled: true
    namespace: application
    eagerLoad:
      enabled: true

6.2 在Apollo配置中心增加项目

点击创建项目,输入项目信息

部门:选择应用所在的部门

应用AppId:用来标识应用身份的唯一id,格式为string,需要和应用中配置的app.id对应
应用名称:应用名,仅用于界面展示
应用负责人:选择的人默认会成为该项目的管理员,具备项目权限管理、集群创建、Namespace创建等权限

具体操作截图如下:

Apollo安装教程_第4张图片

Apollo安装教程_第5张图片

Apollo安装教程_第6张图片 Apollo安装教程_第7张图片

 注意:配置信息不发布,不生效!

 七、参考文献

Apollo配置中心搭建和使用教程

https://www.cnblogs.com/zhangyjblogs/p/14163702.html

你可能感兴趣的:(SpringCloud,分布式中间件,微服务,分布式,microservices)