一.介绍

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

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

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

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

二.安装

1.创建ApolloPortalDB

下载地址:https://github.com/ctripcorp/apollo/blob/master/scripts/sql/apolloportaldb.sql

2.创建ApolloConfigDB

下载地址:https://github.com/ctripcorp/apollo/blob/master/scripts/sql/apolloconfigdb.sql

创建完之后

3.下载安装包

下载:apollo-adminservice-1.7.1-github.zipapollo-configservice-1.7.1-github.zipapollo-portal-1.7.1-github.zip

下载地址:https://github.com/ctripcorp/apollo/releases

4.Linux下解压运行

执行命令:

mkdir admin portal config

解压:

unzip apollo-configservice-1.7.1-github.zip -d config/
unzip apollo-adminservice-1.7.1-github.zip -d admin/
unzip apollo-portal-1.7.1-github.zip -d portal/

创建config日志文件:

[root@VM-0-8-centos apollo-start]# cd config/
[root@VM-0-8-centos config]# ls
apollo-configservice-1.7.1.jar apollo-configservice.conf apollo-configservice_usrlocalapplicationapolloapollo-startconfig.pid scripts
apollo-configservice-1.7.1-sources.jar apollo-configservice.jar config
[root@VM-0-8-centos config]# cat apollo-configservice.conf
MODE=service
PID_FOLDER=.
LOG_FOLDER=/opt/logs/100003171/[root@VM-0-8-centos config]# mkdir /opt/logs/100003171/

进入config文件夹,修改配置,具体配置如下:

[root@VM-0-8-centos config]# cd config/
[root@VM-0-8-centos config]# ls
application-github.properties app.properties
[root@VM-0-8-centos config]# cat application-github.properties
# DataSource
spring.datasource.url = jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8
spring.datasource.username =username
spring.datasource.password =password
[root@VM-0-8-centos config]#

启动config-service:

[root@VM-0-8-centos config]# cd ../
[root@VM-0-8-centos config]# cd scripts/
[root@VM-0-8-centos scripts]# ls
shutdown.sh startup.sh
[root@VM-0-8-centos scripts]# sh startup.sh

admin-service和这个操作一样,就不演示了

portal操作:

[root@VM-0-8-centos apollo-start]# cd portal/
[root@VM-0-8-centos portal]# ls
apollo-portal-1.7.1.jar apollo-portal-1.7.1-sources.jar apollo-portal.conf apollo-portal.jar apollo-portal_usrlocalapplicationapolloapollo-startportal.pid config scripts
[root@VM-0-8-centos portal]# cat apollo-portal.conf
MODE=service
PID_FOLDER=.
LOG_FOLDER=/opt/logs/100003173/[root@VM-0-8-centos portal]# cd config/
[root@VM-0-8-centos config]# ls
apollo-env.properties application-github.properties app.properties
[root@VM-0-8-centos config]# cat apollo-env.properties
local.meta=http://localhost:8080
dev.meta=http://localhost:8080
#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
[root@VM-0-8-centos config]# cat application-github.properties
# DataSource
spring.datasource.url = jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8
spring.datasource.username = username
spring.datasource.password =password

之后进去scripts文件夹启动

[root@VM-0-8-centos config]# cd ../
[root@VM-0-8-centos portal]# cd scripts/
[root@VM-0-8-centos scripts]# ls
shutdown.sh startup.sh
[root@VM-0-8-centos scripts]# sh startup.sh

5.Docker运行

运行apollo-configservice:

docker run -p 8080:8080 \
-e SPRING_DATASOURCE_URL="jdbc:mysql://localhost:3306/ApolloConfigDB_DEV?characterEncoding=utf8" \
-e SPRING_DATASOURCE_USERNAME=username -e SPRING_DATASOURCE_PASSWORD=password \
-d -v /tmp/logs:/opt/logs --name apollo-configservice apolloconfig/apollo-configservice

运行apollo-adminservice:

docker run -p 8090:8090 \
-e SPRING_DATASOURCE_URL="jdbc:mysql://localhost:3306/ApolloConfigDB_DEV?characterEncoding=utf8" \
-e SPRING_DATASOURCE_USERNAME=username -e SPRING_DATASOURCE_PASSWORD=password \
-d -v /tmp/logs:/opt/logs --name apollo-adminservice apolloconfig/apollo-adminservice

运行apollo-partal:

docker run -p 8070:8070 \
-e SPRING_DATASOURCE_URL="jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8" \
-e SPRING_DATASOURCE_USERNAME=username -e SPRING_DATASOURCE_PASSWORD=password \
-e APOLLO_PORTAL_ENVS=dev \
-e DEV_META=http://localhost:8070 -e \
-d -v /tmp/logs:/opt/logs --name apollo-portal apolloconfig/apollo-portal

Apollo系列(一):分布式配置中心Apollo安装(Linux、Docker)的更多相关文章

  1. SpringCloud系列之分布式配置中心极速入门与实践

    SpringCloud系列之分布式配置中心极速入门与实践 @ 目录 1.分布式配置中心简介 2.什么是SpringCloud Config? 3.例子实验环境准备 4.Config Server代码实 ...

  2. 分布式配置中心Apollo——QuickStart

    分布式配置中心 剥离配置文件,实现动态修改,自动更新. [假设没有分布式配置中心,修改配置文件后都需要重启服务,对于数量庞多的微服务开发来说,就会非常繁琐] 分布式配置中心有哪些 disconf(依赖 ...

  3. 实践分布式配置中心Apollo

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

  4. 分布式配置中心Apollo

    1,什么是分布式配置中心 项目中配置文件比较繁杂,而且不同环境的不同配置修改相对频繁,每次发布都需要对应修改配置,如果配置出现错误,需要重新打包发布,时间成本较高,因此需要做统一的分布式注册中心,能做 ...

  5. spring cloud 集成分布式配置中心 apollo(单机部署apollo)

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

  6. 携程开源分布式配置系统Apollo服务端是如何实时更新配置的?

    引言 前面有写过一篇<分布式配置中心apollo是如何实时感知配置被修改>,也就是客户端client是如何知道配置被修改了,有不少读者私信我你既然说了client端是如何感知的,那服务端又 ...

  7. Apollo分布式配置中心部署以及使用

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

  8. 分布式配置中心 携程(apollo)

    1.传统配置文件与分布式配置文件区别 传统配置文件:如果修改了配置文件,需要重新打包发布,重新发布服务,而且每个环境的变更配置文件,比较繁琐. 分布式配置文件:将配置文件注册到配置中心上去,可以使用分 ...

  9. Apollo 分布式配置中心

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

随机推荐

  1. Git-commit-中添加表情

    git commit 中使用表情 我们经常可以在github上看到国外大佬的commit信息中有很多可爱的表情,这是怎么做到的呢? ok,可以这样使用哦:git commit -m '提交信息 :em ...

  2. CF1203D2 Remove the Substring (hard version) 题解

    这题初赛让我白给了6分,于是我决定回来解决一下它. 说实话,看原题题面和看CCF代码真是两种完全不同的感受…… ------------思路分析: 把$s$串删去一部分之后,会把$s$串分成两部分,当 ...

  3. zero:seo优化的三部曲

    http://www.wocaoseo.com/thread-230-1-1.html 理解用户的需求.了解搜索引擎的原理.明白如何通过搜索引擎优化对网站产生价值,这是SEO学习中应该陆续深入的三个部 ...

  4. 如何检查nofollow超链接属性是否有效

    http://www.wocaoseo.com/thread-88-1-1.html     nofollow 标签的重要性就不用阐述了,在这里武汉SEO与大家分享一些nofollow 标签的基本知识 ...

  5. maven文件合集

    maven项目目录结构 聚合项目的pom.xml <?xml version="1.0" encoding="UTF-8"?> <projec ...

  6. JavaScript作用域与对象

    1 - 作用域 1.1 作用域概述 通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域.作用域的使用提高了程序逻辑的局部性,增强了程序的可靠 ...

  7. python+requests+unittest执行自动化接口测试

    1.安装requests.xlrd.json.unittest库 <1>pip 命令安装: pip install requestspip install xlrdpip install ...

  8. 23种设计模式 - 接口隔离(Facade - Proxy - Mediator - Adapter)

    其他设计模式 23种设计模式(C++) 每一种都有对应理解的相关代码示例 → Git原码 ⌨ 接口隔离 在组件构建过程中,某些接口之间直接的依赖常常会带来很多问题.甚至根本无法实现.采用添加一层间接( ...

  9. json对象遍历顺序问题

    对json对象遍历我们一般使用for in循环,或者Object.keys + 数组方法.在接触js以来听到过一种说法: for in 遍历顺序是不可靠的 但是在实际开发中for in 循环也是按照其 ...

  10. 【基础知识】Unity查漏补缺

    最近发现了一些平时不太注重的知识点,特此建立个专题,把零散的东西.疏忽的东西临时记录下来. Mecanim动画系统: 1)设置AnimatorController时,如果某个动作播放不正常. 首先打开 ...