一.介绍

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. Jupyter Notebook 入门指南

    https://www.jianshu.com/p/061c6e5c4b0d cmd输入 :jupyter notebook

  2. 浅析 MVC

    MVC(Model–View–Controller) Model:数据模型  负责操作所有数据View:视图 负责所有UI界面Controller:控制器 负责其他 //数据放在m const m = ...

  3. openssh一键升级脚本(只升级openssh,其它已有环境不变,解决root登录问题)

    #!/bin/bash ################################################################# ###### update openssl ...

  4. vue再学习

    day01 Vue 是什么? Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架 vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合 使用Vu ...

  5. python+opencv 打开网络摄像头

    python+opencv 打开网络摄像头(手机)(转) #以下是最常用的读取视频流的方法import cv2url = 'rtsp://admin:admin@192.169.5.2:554/'#根 ...

  6. 跟我一起学.NetCore之日志作用域及第三方日志框架扩展

    前言 上一节对日志的部分核心类型进行简单的剖析,相信现在再使用日志的时候,应该大概知道怎么一回事了,比如记录器是怎么来的,是如何将日志内容写入到不同目的地的等:当然还有很多细节没深入讲解,抽时间小伙伴 ...

  7. Java 的开发效率究竟比 C++ 高在哪里?

    有几个原因     大师助手解决你的烦恼1. 语言上,Java是一个比C++更容易parse得多的语言,所以相应的工具链IDE会更容易做,无论多大的Java的项目,就是新手写完都不会有编译错误.但是写 ...

  8. 由mv命令引发的对inode的思考

    一场机器迁移引起的思考 最近团队一台机器老化了,准备做全量迁移,一不小心,就把100多个G的/data目录放到了新机器的/data/data目录下,上愁了,怎么削减一层data目录呢?难倒像Windo ...

  9. PyCharm 中文教程 01:运行 Python 的四种方式

    <PyCharm 中文指南>在线阅读: http://pycharm.iswbm.com/ Github 项目主页: https://github.com/iswbm/pych... 1. ...

  10. 【Gin-API系列】Gin中间件之鉴权访问(五)

    在完成中间件的介绍和日志中间件的代码后,我们的程序已经基本能正常跑通了,但如果要上生产,还少了一些必要的功能,例如鉴权.异常捕捉等.本章我们介绍如何编写鉴权中间件. 鉴权访问,说白了就是给用户的请求增 ...