一.介绍

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. 结对项目 实现自动生成四则运算题目的程序 (C++)

    本次作业由 陈余 与 郭奕材 结对完成 零.github地址: https://github.com/King-Authur/-Automatically-generate-four-arithmet ...

  2. 洛谷 P3951 NOIP 2017 小凯的疑惑

    洛谷 P3951 NOIP 2017 小凯的疑惑 题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付 ...

  3. SEO工程师考试题目

    http://www.wocaoseo.com/thread-201-1-1.html      SEO,全名Search Engine Optimization,其中文名字为'搜索引擎优化' .其英 ...

  4. 阿里大牛教你基于Python的 Selenium自动化测试示例解析

    今天给大家讲解的是自动化测试示例的解析,如有不对的地方请多多指教. 自动化测试示例如下: from selenium import webdriver from selenium.webdriver. ...

  5. jieba分词-强大的Python 中文分词库

    1. jieba的江湖地位 NLP(自然语言)领域现在可谓是群雄纷争,各种开源组件层出不穷,其中一支不可忽视的力量便是jieba分词,号称要做最好的 Python 中文分词组件. 很多人学习pytho ...

  6. 教你如何在linux操作系统下玩【俄罗斯方块】高清+语音教程

    主讲人小冰QQ:986945193 新浪微博:http://weibo.com/mcxiaobing 百度贴吧:忆驹家族小冰 腾讯微博:http://t.qq.com/q986945193 高清视频 ...

  7. .net core中使用jwt进行认证

    JSON Web Token(JWT)是一个开放标准(RFC 7519),它定义了一种紧凑且自包含的方式,用于在各方之间作为JSON对象安全地传输信息.由于此信息是经过数字签名的,因此可以被验证和信任 ...

  8. html加C#上传文件

    最近在学上传文件部分内容,包括创建文件夹,设置文件夹属性,上传文件并保存. 前台代码: <html xmlns="http://www.w3.org/1999/xhtml"& ...

  9. 从String中移除空白字符的多种方式!?

    字符串,是Java中最常用的一个数据类型了.我们在日常开发时候会经常使用字符串做很多的操作.比如字符串的拼接.截断.替换等. 这一篇文章,我们介绍一个比较常见又容易被忽略的一个操作,那就是移除字符串中 ...

  10. MyEclipse web项目连接数据库

    1.Build path添加jdbc驱动包 2.编写驱动类 import java.sql.Connection; import java.sql.DriverManager; import java ...