携程apollp快速部署DVE集群
1、环境准备:
这里只部署DEV环境
系统环境:
| 系统 | ip |
|---|---|
| ubuntu-18.04-live-server-amd64 | 192.168.1.112 |
| ubuntu-18.04-live-server-amd64 | 192.168.1.117 |
软件版本:
MYSQL:5.7
apolloconfig/apollo-portal:1.7.0-SNAPSHOT
apolloconfig/apollo-configservice:1.7.0-SNAPSHOT
apolloconfig/apollo-adminservice:1.7.0-SNAPSHOT
1.1、下载MYSQL脚本
下载以下两个脚本。
https://github.com/ctripcorp/apollo/tree/master/scripts/sql/apolloconfigdb.sql
https://github.com/ctripcorp/apollo/tree/master/scripts/sql/apolloportaldb.sql
1.2、安装docker-compose
apt-get install docker-compose
2、部署单机版本
这里在192.168.1.112中部署单机版本
2.1、部署示意图
2.2、准备docker-compose.yml文件
下面的文件 # 后面是备注信息
在112上创建/home/allspark/dockerCompose/docker-compose.yml文件,将以下内容复制到其中。
version: "3"
services:
apollo-configservice:
container_name: apollo-configservice # 容器名
image: apolloconfig/apollo-configservice # 镜像名
ports:
- 8080:8080 # 映射端口
volumes:
- "/home/allspark/apollo/logs/100003171:/opt/logs/100003171" # 映射路径
environment:
- spring_datasource_url=jdbc:mysql://192.168.1.112:3306/ApolloConfigDB?characterEncoding=utf8 # mysql连接字符串
- spring_datasource_username=root # mysql账号
- spring_datasource_password=root # mysql 密码
- eureka.instance.ip-address=192.168.1.112 # 本机IPv4地址
restart: always # 自启
apollo-adminservice:
container_name: apollo-adminservice
image: apolloconfig/apollo-adminservice
ports:
- 8090:8090
volumes:
- "/home/allspark/apollo/logs:/opt/logs"
environment:
- spring_datasource_url=jdbc:mysql://192.168.1.112:3306/ApolloConfigDB?characterEncoding=utf8
- spring_datasource_username=root
- spring_datasource_password=root
- eureka.instance.ip-address=192.168.1.112
depends_on:
- apollo-configservice # 在这之后执行
restart: always
apollo-portal:
container_name: apollo-portal
image: apolloconfig/apollo-portal
ports:
- 8070:8070
volumes:
- "/home/allspark/apollo/logs:/opt/logs"
- "/home/allspark/apollo/apollo-portal/config/apollo-env.properties:/apollo-portal/config/apollo-env.properties"
environment:
- spring_datasource_url=jdbc:mysql://192.168.1.112:3306/ApolloPortalDB?characterEncoding=utf8
- spring_datasource_username=root
- spring_datasource_password=root
depends_on:
- apollo-adminservice
restart: always
2.3、准备apollo-portal需要的配置文件
我们在192.168.1.112上创建文件
/home/allspark/apollo/apollo-portal/config/apollo-env.properties
写入内容(以下内容为官方包中默认配置,单机版本无需修改)
local.meta=http://localhost:8080
dev.meta=http://fill-in-dev-meta-server: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
2.4、开始部署
cd /home/allspark/dockerCompose
docker-compose -f docker-compose.yml up --build -d
等待执行完毕后,即可访问
192.168.1.112:8070
192.168.1.112:8080
192.168.1.112:8090
3、双机集群部署
3.1、部署示意图

3.2、准备docker-compose.yml文件
首先我们在已经有上面单机部署。
我们这里共用一个数据库,公用一个apollo-portal。
所以只需要在另外一台机器上部署一个集群就可以了,使112与117形成集群。
192.168.1.117上创建/home/allspark/dockerCompose/docker-compose.yml文件,将以下内容复制到其中。
version: "3"
services:
apollo-configservice:
container_name: apollo-configservice # 容器名
image: apolloconfig/apollo-configservice # 镜像名
ports:
- 8080:8080 # 映射端口
volumes:
- "/home/allspark/apollo/logs/100003171:/opt/logs/100003171" # 映射路径
environment:
- spring_datasource_url=jdbc:mysql://192.168.1.112:3306/ApolloConfigDB?characterEncoding=utf8 # mysql连接字符串(这里使用的112的数据库)
- spring_datasource_username=root # mysql账号
- spring_datasource_password=root # mysql 密码
- eureka.instance.ip-address=192.168.1.117 # 本机IPv4地址
restart: always # 自启
apollo-adminservice:
container_name: apollo-adminservice
image: apolloconfig/apollo-adminservice
ports:
- 8090:8090
volumes:
- "/home/allspark/apollo/logs:/opt/logs"
environment:
- spring_datasource_url=jdbc:mysql://192.168.1.112:3306/ApolloConfigDB?characterEncoding=utf8
- spring_datasource_username=root
- spring_datasource_password=root
- eureka.instance.ip-address=192.168.1.117
depends_on:
- apollo-configservice # 在这之后执行
restart: always
开始部署
cd /home/allspark/dockerCompose
docker-compose -f docker-compose.yml up --build -d
修改配置
使用ssh连接192.168.1.112
修改/home/allspark/apollo/apollo-portal/config/apollo-env.properties
为以下内容。
local.meta=http://192.168.1.112:8080
dev.meta=http://192.168.1.112:8080,http://192.168.1.117:8080
修改mysql数据库中的配置
打开数据库连接工具
use apolloconfigdb;
UPDATE serverconfig SET `Value`="http://192.168.1.112:8080/eureka/,http://192.168.1.117:8080/eureka/" WHERE Id=1;
重启112上的apollo
使用SSH连接到112
cd /home/allspark/dockerCompose
docker-compose restart
携程apollp快速部署DVE集群的更多相关文章
- MariaDB Galera Cluster 部署(如何快速部署 MariaDB 集群)
MariaDB Galera Cluster 部署(如何快速部署 MariaDB 集群) OneAPM蓝海讯通7月3日 发布 推荐 4 推荐 收藏 14 收藏,1.1k 浏览 MariaDB 作为 ...
- MariaDB Galera Cluster 部署(如何快速部署MariaDB集群)
MariaDB Galera Cluster 部署(如何快速部署MariaDB集群) [日期:--] 来源:Linux社区 作者:Linux [字体:大 中 小] MariaDB作为Mysql的一个分 ...
- docker 快速部署ES集群 spark集群
1) 拉下来 ES集群 spark集群 两套快速部署环境, 并只用docker跑起来,并保存到私库. 2)弄清楚怎么样打包 linux镜像(或者说制作). 3)试着改一下,让它们跑在集群里面. 4) ...
- Kubernetes探索学习001--Centos7.6使用kubeadm快速部署Kubernetes集群
Centos7.6使用kubeadm快速部署kubernetes集群 为什么要使用kubeadm来部署kubernetes?因为kubeadm是kubernetes原生的部署工具,简单快捷方便,便于新 ...
- 菜鸟系列k8s——快速部署k8s集群
快速部署k8s集群 1. 安装Rancher Rancher是业界唯一完全开源的企业级容器管理平台,为企业用户提供在生产环境中落地使用容器所需的一切功能与组件. Rancher2.0基于Kuberne ...
- 使用RKE快速部署k8s集群
一.环境准备 1.1环境信息 IP地址 角色 部署软件 10.10.100.5 K8s Master Etcd.Control 10.10.100.17 K8s Worker1 Worker 10.1 ...
- 通过kubeadm快速部署K8S集群
kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具. 这个工具能通过两条指令完成一个kubernetes集群的部署: # 创建一个 Master 节点 $ kubeadm i ...
- 教你在Kubernetes中快速部署ES集群
摘要:ES集群是进行大数据存储和分析,快速检索的利器,本文简述了ES的集群架构,并提供了在Kubernetes中快速部署ES集群的样例:对ES集群的监控运维工具进行了介绍,并提供了部分问题定位经验,最 ...
- 使用Rancher的RKE快速部署Kubernetes集群
简要说明: 本文共涉及3台Ubuntu机器,1台RKE部署机器(192.168.3.161),2台Kubernetes集群机器(3.162和3.163). 先在Windows机器上,将rke_linu ...
- Linux环境快速部署Zookeeper集群
一.部署前准备: 1.下载ZooKeeper的安装包: http://zookeeper.apache.org/releases.html 我下载的版本是zookeeper-3.4.9. 2.将下载的 ...
随机推荐
- SpringAI更新:废弃tools方法、正式支持DeepSeek!
AI 技术发展很快,同样 AI 配套的相关技术发展也很快.这不今天刚打开 Spring AI 的官网就发现它又又又又更新了,而这次更新距离上次更新 M7 版本才不过半个月的时间,那这次 Spring ...
- 使用离线部署32B模型实现OpenDeepWiki项目代码自动分析与文档生成
背景介绍 在企业环境中,我们经常需要对公司项目代码进行分析和文档生成.然而,考虑到代码的保密性,将代码上传至公共AI平台存在安全隐患.为解决这一问题,我们可以在公司内部GPU服务器上部署强大的大语言模 ...
- C#中无法将文件”obj\debug\XXX.dll复制到“bin\Debug\XXX.dll” 拒绝访问
较为方便有效的方法就是,把项目属性中的"应用程序集"的"程序集名称"修改为另一个名称即可.
- 异步之舞:Motor驱动与MongoDB的CRUD交响曲
title: 异步之舞:Motor驱动与MongoDB的CRUD交响曲 date: 2025/05/19 15:30:10 updated: 2025/05/19 15:30:10 author: c ...
- SpringBoot性能优化的12个小技巧
前言 不知道你在SpringBoot项目中,有没有遇到过下面这样的代码: @GetMapping("/orders") public List<Order> listO ...
- Web前端入门第 59 问:JavaScript 条件语句中善用 return 让代码更清晰
条件语句 JS 的条件语句不太多,就 if 和 switch 两个,不过他们的使用方式也可以算是眼花缭乱了. if 语句 if 字面意思:如果 xxx.程序中的用法也是这样,如果条件为真,则执行执行代 ...
- 远古python1.6 linux版下载
链接:https://www.123pan.com/s/qdY9-n3fk3 语法和python2应该是差不多的,曾经提到过 体验:
- CAN304 W1
CAN304 W1 Definition The protection afforded to an automated information system in order to attain t ...
- 你应该懂的AI大模型(二) 之 大模型技术架构
一.行业变化 Software is eating the world,but AI is going to eat software! "软件正在吞噬世界" 这一观点由网景公 ...
- Django实战:自定义中间件实现全链路操作日志记录
一.中间件 介绍 在 Django 中,中间件(Middleware)是一组轻量级.底层的插件系统,用于全局地改变 Django 的输入和输出.中间件可以在请求被处理之前和响应返回之前执行代码,从而实 ...