Apollo源码打包及部署
1. 通过源码打包
到携程Apollo地址 https://github.com/ctripcorp/apollo 下载Apollo源码,可在源码中进行自定义配置日志路径及端口等,之后打包。
打包完成后在 target 目录下的 apollo-configservice-1.3.0-github.zip 即为可部署的服务包
apollo-configservice-1.3.0-github.zip 内容如下
上面以apollo-configservice为例,部署所需的另外两个模块apollo-adminservice,apollo-portal的打包步骤相同。
当然,如果不需要特别定制开发,Release 也提供了预先打包好的安装包,可以到 https://github.com/ctripcorp/apollo/releases 下载使用。
2. 部署数据库
Apollo服务端共需要两个数据库:ApolloPortalDB 和 ApolloConfigDB,创建这两个数据库,1.3.0版本开始为了支持Flyway,sql位置和命名已修改,位置如下。
注意:需配置数据库大小写不敏感
另外需要注意的是ApolloPortalDB只需要在生产环境部署一个即可,而ApolloConfigDB需要在每个环境部署一套,如dev、uat和pro分别部署3套ApolloConfigDB。但是ApolloPortalDB.serverconfig表中需要把可支持的环境列表配置到apollo.portal.envs字段上。
3. 部署服务
3.1 部署apollo-configservice
将对应环境的apollo-configservice-x.x.x-github.zip上传到服务器上,解压,核对修改scripts/startup.sh中的配置,数据库、JVM配置、日志、端口等都可以在这里再次进行配置。
- 如果需要修改JVM参数,可以修改scripts/startup.sh的JAVA_OPTS部分。
- 如要调整服务的日志输出路径,可以修改scripts/startup.sh和apollo-configservice.conf中的LOG_DIR。
- 如要调整服务的监听端口,可以修改scripts/startup.sh中的SERVER_PORT。另外apollo-configservice同时承担meta server职责,如果要修改端口,注意要同时ApolloConfigDB.ServerConfig表中的eureka.service.url配置项以及apollo-portal和apollo-client中的使用到的meta server信息。
- 如果ApolloConfigDB.ServerConfig的eureka.service.url只配了当前正在启动的机器的话,在启动apollo-configservice的过程中会在日志中输出eureka注册失败的信息,如com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused。需要注意的是,这个是预期的情况,因为apollo-configservice需要向Meta Server(它自己)注册服务,但是因为在启动过程中,自己还没起来,所以会报这个错。后面会进行重试的动作,所以等自己服务起来后就会注册正常了。
如下为pro环境的配置
如果配置多个环境,需要另外单独部署 apollo-configservice的服务和ApolloConfigDB数据库,同时脚本中修改meta。
执行scripts/startup.sh即可启动configservice服务。如需停止服务,执行scripts/shutdown.sh。
访问ip:9001验证服务是否启动。
3.2 部署apollo-adminservice
将对应环境的apollo-adminservice-x.x.x-github.zip上传到服务器上,解压后执行scripts/startup.sh即可。如需停止服务,执行scripts/shutdown.sh。
自定义启动脚本中的参数。
如果配置多个环境,需要另外单独部署 apollo-adminservice的服务和ApolloConfigDB数据库,同时脚本中修改meta。
执行scripts/startup.sh即可启动adminservice服务。如需停止服务,执行scripts/shutdown.sh。
访问ip:9002,如果页面出现 apollo-adminservice 即为启动成功。
3.3 部署apollo-portal
将apollo-portal-x.x.x-github.zip上传到服务器上,解压后执行scripts/startup.sh即可。如需停止服务,执行scripts/shutdown.sh.
自定义启动脚本中的参数。
执行scripts/startup.sh即可启动portal服务。如需停止服务,执行scripts/shutdown.sh。
访问ip:9003出现登录页面即为启动成功,超级管理用户为apollo/admin,进入即可进行配置。
Apollo源码打包及部署的更多相关文章
- Spark1.0.0 源码编译和部署包生成
问题导读:1.如何对Spark1.0.0源码编译?2.如何生成Spark1.0的部署包?3.如何获取包资源? Spark1.0.0的源码编译和部署包生成,其本质只有两种:Maven和SBT,只不过针对 ...
- Apollo源码解析看一文就够
对于配置中心我们先抛出问号三连,什么是配置中心?为什么要用配置中心?配置中心怎么用? 笔者说说自己理解的配置中心,个人观点的十六字 消息存储 消息推送 环境隔离 灰度发布 今天我们先来看Apollo配 ...
- maven源码打包
1.打包时附加外部Jar包 <!--编译+外部 Jar打包--> <plugin> <artifactId>maven-co ...
- 使用 maven 自动将源码打包并发布
1.maven-source-plugin 访问地址 在 pom.xml 中添加 下面的 内容,可以 使用 maven 生成 jar 的同时 生成 sources 包 <plugin> & ...
- Apollo源码阅读笔记(二)
Apollo源码阅读笔记(二) 前面 分析了apollo配置设置到Spring的environment的过程,此文继续PropertySourcesProcessor.postProcessBeanF ...
- Apollo源码阅读笔记(一)
Apollo源码阅读笔记(一) 先来一张官方客户端设计图,方便我们了解客户端的整体思路. 我们在使用Apollo的时候,需要标记@EnableApolloConfig来告诉程序开启apollo配置,所 ...
- 【maven】maven源码打包
1.打包时附加外部Jar包 <!--编译+外部 Jar打包--> <plugin> <artifactId>maven-co ...
- 01.LNMP架构-Nginx源码包编译部署详细步骤
操作系统:CentOS_Server_7.5_x64_1804.iso 部署组件:Pcre+Zlib+Openssl+Nginx 操作步骤: 一.创建目录 [root@localhost ~]# mk ...
- 02.LNMP架构-MySQL源码包编译部署详细步骤
操作系统:CentOS_Server_7.5_x64_1804.iso 部署组件:Cmake+Boost+MySQL 操作步骤: 一.安装依赖组件 [root@localhost ~]# yum -y ...
随机推荐
- Windows通过SSH远程登录Linux主机
准备工作:1.Windows系统下装有VMware虚拟机且是Linux系统2.终端连接工具Xshell 63.本次实验系统IP如下 系统 IP Windows10 192.168.37.111 Cen ...
- 关于RGBDSLAMV2学习、安装、调试过程
Step1:https://github.com/felixendres/rgbdslam_v2/wiki/Instructions-for-Compiling-Rgbdslam-(V2)-on-a- ...
- 通过visual studio制作类库的文档
java的集成开发工具,可以导出jar的文档. visual studio 也可以生成类库的文档,邮件项目属性,生成,输出下,选择XML文档文件.然后生成项目,就会再bin下面生成一个xml文件. 将 ...
- python3 xml_to_dict、dict_to_xml等互相转换的方法
from basic_config_vars.config_vars import moviesAllFilePath,moviesFilePath #自定义的一些文件变量 import xmltod ...
- java基础(6)---面向对象,类,包
一.类 类对象内存: 成员变量和局部变量: 成员变量:类中定义的一些私有变量,表示对象的属性. 局部变量:局部变量是在方法体里创建的,在方法体外是访问不到这个变量的. public class te ...
- Jinja2 笔记
注释: {# haha #} 对象引用 : {{data.name}} 或者 {{data['name]}} 控制语句放到{% %}中 {% if not has_in_gifts and not ...
- matlab的拟合函数polyfit()函数
matlab的多项式拟合: polyfit()函数 功能:在最小二乘法意义之上,求解Y关于X的最佳的N次多项式函数. clc;clear; close all; x=[ ]; y=[2.7 7.4 2 ...
- python - django (实现电子邮箱的账户注册和验证码功能)
使用 Django 来做一个电子邮箱注册 并 发送验证码的功能 (此处以 163 邮箱为例) 一. 登陆 163 邮箱账号, 然后进行下列操作 二. settings 配置文件 # 发送邮箱验证码 ...
- 马尔科夫链蒙特卡洛(MCMC) -- 学习笔记
https://blog.csdn.net/m0_38088359/article/details/83480258 https://blog.csdn.net/shenxiaolu1984/arti ...
- php自定义函数之内部函数
内部函数,是指在函数内部又声明了一个函数. 注意事项: 1.内部函数名,不能是已存在的函数名 2.假设在函数a里面定义了一个内部函数,不能定用两次函数a. 我们下面来看代码,你将很快的学习会: < ...