Apollo系列(一):分布式配置中心Apollo安装(Linux、Docker)
一.介绍
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.zip,apollo-configservice-1.7.1-github.zip,apollo-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)的更多相关文章
- SpringCloud系列之分布式配置中心极速入门与实践
SpringCloud系列之分布式配置中心极速入门与实践 @ 目录 1.分布式配置中心简介 2.什么是SpringCloud Config? 3.例子实验环境准备 4.Config Server代码实 ...
- 分布式配置中心Apollo——QuickStart
分布式配置中心 剥离配置文件,实现动态修改,自动更新. [假设没有分布式配置中心,修改配置文件后都需要重启服务,对于数量庞多的微服务开发来说,就会非常繁琐] 分布式配置中心有哪些 disconf(依赖 ...
- 实践分布式配置中心Apollo
简介 Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性,适用于微服务配置管理场景 ...
- 分布式配置中心Apollo
1,什么是分布式配置中心 项目中配置文件比较繁杂,而且不同环境的不同配置修改相对频繁,每次发布都需要对应修改配置,如果配置出现错误,需要重新打包发布,时间成本较高,因此需要做统一的分布式注册中心,能做 ...
- spring cloud 集成分布式配置中心 apollo(单机部署apollo)
一.什么是apollo? Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性,适用 ...
- 携程开源分布式配置系统Apollo服务端是如何实时更新配置的?
引言 前面有写过一篇<分布式配置中心apollo是如何实时感知配置被修改>,也就是客户端client是如何知道配置被修改了,有不少读者私信我你既然说了client端是如何感知的,那服务端又 ...
- Apollo分布式配置中心部署以及使用
一.简介Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性,适用于微服务配置管理场 ...
- 分布式配置中心 携程(apollo)
1.传统配置文件与分布式配置文件区别 传统配置文件:如果修改了配置文件,需要重新打包发布,重新发布服务,而且每个环境的变更配置文件,比较繁琐. 分布式配置文件:将配置文件注册到配置中心上去,可以使用分 ...
- Apollo 分布式配置中心
1. 介绍 Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性,适用于微服务配置 ...
随机推荐
- 结对项目 实现自动生成四则运算题目的程序 (C++)
本次作业由 陈余 与 郭奕材 结对完成 零.github地址: https://github.com/King-Authur/-Automatically-generate-four-arithmet ...
- 洛谷 P3951 NOIP 2017 小凯的疑惑
洛谷 P3951 NOIP 2017 小凯的疑惑 题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付 ...
- SEO工程师考试题目
http://www.wocaoseo.com/thread-201-1-1.html SEO,全名Search Engine Optimization,其中文名字为'搜索引擎优化' .其英 ...
- 阿里大牛教你基于Python的 Selenium自动化测试示例解析
今天给大家讲解的是自动化测试示例的解析,如有不对的地方请多多指教. 自动化测试示例如下: from selenium import webdriver from selenium.webdriver. ...
- jieba分词-强大的Python 中文分词库
1. jieba的江湖地位 NLP(自然语言)领域现在可谓是群雄纷争,各种开源组件层出不穷,其中一支不可忽视的力量便是jieba分词,号称要做最好的 Python 中文分词组件. 很多人学习pytho ...
- 教你如何在linux操作系统下玩【俄罗斯方块】高清+语音教程
主讲人小冰QQ:986945193 新浪微博:http://weibo.com/mcxiaobing 百度贴吧:忆驹家族小冰 腾讯微博:http://t.qq.com/q986945193 高清视频 ...
- .net core中使用jwt进行认证
JSON Web Token(JWT)是一个开放标准(RFC 7519),它定义了一种紧凑且自包含的方式,用于在各方之间作为JSON对象安全地传输信息.由于此信息是经过数字签名的,因此可以被验证和信任 ...
- html加C#上传文件
最近在学上传文件部分内容,包括创建文件夹,设置文件夹属性,上传文件并保存. 前台代码: <html xmlns="http://www.w3.org/1999/xhtml"& ...
- 从String中移除空白字符的多种方式!?
字符串,是Java中最常用的一个数据类型了.我们在日常开发时候会经常使用字符串做很多的操作.比如字符串的拼接.截断.替换等. 这一篇文章,我们介绍一个比较常见又容易被忽略的一个操作,那就是移除字符串中 ...
- MyEclipse web项目连接数据库
1.Build path添加jdbc驱动包 2.编写驱动类 import java.sql.Connection; import java.sql.DriverManager; import java ...