Apollo

IT
IT
IT
335
文章
1
评论
2020年8月4日15:18:00 评论 820 3768字阅读12分33秒

简介

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

服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器。

Java客户端不依赖任何框架,能够运行于所有Java运行时环境,同时对Spring/Spring Boot环境也有较好的支持。

.Net客户端不依赖任何框架,能够运行于所有.Net运行时环境。

更多产品介绍参见Apollo配置中心介绍

本地快速部署请参见Quick Start

演示环境(Demo):

如访问github速度缓慢,可以访问gitee镜像,不定期同步

Apollo

准备基础环境

  • 安装jdk
[root@master ~]#  yum -y install java-1.8.0-openjdk*
[root@master ~]# vim /etc/profile
export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
[root@master ~]# source /etc/profile
[root@master ~]# java -version
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
  • 安装mysql
[root@master ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
[root@master ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm
[root@master ~]# yum -y install mysql-community-server
[root@master ~]# systemctl start  mysqld.service
[root@master ~]# systemctl status mysqld.service
[root@master ~]# grep "password" /var/log/mysqld.log
2020-08-04T09:14:34.807708Z 1 [Note] A temporary password is generated for root@localhost: xG%xj.wms4a#
[root@master ~]# mysql -uroot -pxG%xj.wms4a#
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'XIAOXIN@root2758';
mysql> grant all privileges on *.* to 'root'@'%' identified by 'XIAOXIN@root2758';

下载Apollo安装包

  1. 从Github下载
  2. 从百度网盘下载
    • 通过网盘链接下载,提取码: 9wwe
    • 下载到本地后,在本地解压apollo-quick-start.zip
  3. 为啥安装包要58M这么大?
    • 因为这是一个可以自启动的jar包,里面包含了所有依赖jar包以及一个内置的tomcat容器
[root@master ~]# cd apollo/
[root@master apollo]# unzip apollo-quick-start-1.6.1.zip 
Archive:  apollo-quick-start-1.6.1.zip
  inflating: README.md               
  inflating: apollo-all-in-one.jar   
   creating: client/
  inflating: client/log4j2.xml       
   creating: client/META-INF/
 extracting: client/META-INF/app.properties  
  inflating: client/apollo-demo.jar  
  inflating: demo.sh                 
   creating: images/
  inflating: images/apollo-sample-home.png  
  inflating: images/sample-app-release-config.png  
  inflating: images/sample-app-config.png  
  inflating: images/sample-app-submit-config.png  
  inflating: images/sample-app-modify-config.png  
  inflating: images/sample-app-release-detail.png  
   creating: portal/
  inflating: portal/apollo-portal.conf  
   creating: service/
  inflating: service/apollo-service.conf  
   creating: sql/
  inflating: sql/apolloconfigdb.sql  
  inflating: sql/apolloportaldb.sql
  • 导入数据文件
[root@master apollo]# mysql -uroot -pXIAOXIN@root2758
mysql> source /root/apollo/sql/apolloconfigdb.sql
mysql> source /root/apollo/sql/apolloportaldb.sql

配置数据库连接信息

Apollo服务端需要知道如何连接到你前面创建的数据库,所以需要编辑demo.sh,修改ApolloPortalDB和ApolloConfigDB相关的数据库连接串信息。

注意:填入的用户需要具备对ApolloPortalDB和ApolloConfigDB数据的读写权限。

#apollo config db info
apollo_config_db_url=jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8
apollo_config_db_username=用户名
apollo_config_db_password=密码(如果没有密码,留空即可)

# apollo portal db info
apollo_portal_db_url=jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8
apollo_portal_db_username=用户名
apollo_portal_db_password=密码(如果没有密码,留空即可)

注意:不要修改demo.sh的其它部分

启动Apollo配置中心

Quick Start脚本会在本地启动3个服务,分别使用8070, 8080, 8090端口,请确保这3个端口当前没有被使用。

  • 例如,在Linux/Mac下,可以通过如下命令检查:
lsof -i:8080
  • 执行启动脚本
[root@master apollo]# ./demo.sh start
  • 当看到如下输出后,就说明启动成功了
"demo.sh" 206L, 5844C 已写入
[root@master apollo]# ./demo.sh start
==== starting service ====
Service logging file is ./service/apollo-service.log
Started [31724]
Waiting for config service startup....
Config service started. You may visit http://localhost:8080 for service status now!
Waiting for admin service startup.
Admin service started
==== starting portal ====
Portal logging file is ./portal/apollo-portal.log
Started [31956]
Waiting for portal startup...
Portal started. You can visit http://localhost:8070 now!

Apollo

继续阅读
  • 我的QQ
  • QQ扫一扫
  • weinxin
  • 我的头条
  • 头条扫一扫
  • weinxin
Apollo 最后更新:2020-8-20
IT
  • 本文由 发表于 2020年8月4日15:18:00
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
Apollo生产环境 Apollo

Apollo生产环境

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

Apollo集群

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

Docker部署Apollo

安装docker $ cd /opt/ $ sudo git clone --depth=1 https://github.com/cncentoscn/setuptools.git $ cd set...