博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
携程apollo系列-个人开发环境搭建
阅读量:5946 次
发布时间:2019-06-19

本文共 4097 字,大约阅读时间需要 13 分钟。

本博客讲详细讲解如何在 Windows 搭建携程 Apollo 服务器 (用户个人开发). 开发服务器有多种搭建方式:

(1) docker, 搭建过程非常简单, 推荐有 docker 环境
(2) 部署 Quick start 发行版, 本文采用 Quick start 版部署.

============================
Windows 服务器环境准备
============================
------------------------------
bash 运行环境
------------------------------
Apollo 官方仅提供了一个 bash 脚本启动文件, 所以需要 Windows 下可以执行 bash 脚本, 推荐安装 Git bash 软件包, 官方下载网址为 https://git-for-windows.github.io/, 国内镜像下载网址为 https://github.com/waylau/git-for-win/

------------------------------
Java
------------------------------
Apollo 服务器需要 Jdk8+, Apollo 客户端需要 Jdk7+. 这里安装的是 Jdk8, 如果安装全路径中包括空格, 后面启动 apollo 会有问题, 当然我们也没有必要重新安装, 只需要将安装好的 jdk 文件夹复制一份到没有空格的目录下, 比如复制到 D:\my_program\jdk1.8.0_144\

------------------------------
MySQL
------------------------------
Apollo 后台数据库是 MySQL, 官网要求安装 5.6.5 以上版本, 我装的是 5.7

------------------------------
下载 Quick Start 安装包
------------------------------
下载网址 https://github.com/ctripcorp/apollo/wiki/Quick-Start
并解压到 D:\my_program\apollo-quick-start 目录下.

============================
部署过程
============================
------------------------------
创建数据库
------------------------------
apollo 后台需要两个数据库, 一个是配置服务用的, 另一个是 portal 用的, 手工执行下面的 SQL 监本创建这两个数据库. sql 脚本为:
1. apollo-quick-start\sql\apolloconfigdb.sql
2. apollo-quick-start\sql\apolloportaldb.sql

------------------------------
demo.sh 文件修改数据库配置
------------------------------
Quick start 发行版的数据库配置信息在 demo.sh 文件中, 修改 MySQL 的用户和密码即可.

#apollo config db infoapollo_config_db_url=jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8apollo_config_db_username=用户名apollo_config_db_password=密码(如果没有密码,留空即可)# apollo portal db infoapollo_portal_db_url=jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8apollo_portal_db_username=用户名apollo_portal_db_password=密码(如果没有密码,留空即可)

------------------------------
demo.sh 文件的其他补丁
------------------------------
quick-start 版的启动脚本 demo.sh 在 Windows 下运行会有一些问题, 需要修改.
1. 在设置 BASE_JAVA_OPTS 之前, 增加 JAVA_HOME 环境变量的设置.
JAVA_HOME="D://my_program/jdk1.8.0_144"

2. 修改工作目录

原来为 cd "${0%/*}"
修改为 cd D://my_program/apollo-quick-start

3. 注释掉 java 版本检查的 if 语句块:

#if [[ "$version" < "1.8" ]]; then  #    echo "Java version is $version, please make sure java 1.8+ is in the path"  #    exit 1  #fi

4. 减少内存开销, 修改 JAVA_OPTS 内存分配
原来为: BASE_JAVA_OPTS="-Denv=dev"
修改为: BASE_JAVA_OPTS="-Xms256m -Xmx256m -Denv=dev"

------------------------------
启动
------------------------------
cd D:\my_program\apollo-quick-start
d:\my_program\Git\bin\bash.exe demo.sh start

============================
验证和使用
============================
portal_url=http://localhost:8070
config_server_url=http://localhost:8080
admin_server_url=http://localhost:8090

meta server 和 config service 和 eureka_service 是部署在同一个 JVM 进程,所以 meta server 的地址就是 config service 的地址.

eureka_service_url 的路径为: eureka_service_url=$config_server_url/eureka/

http://localhost:8080

输入用户名 apollo,密码 admin 后登录. 该用户是一个超级管理员.

============================
基本配置
============================
1. 添加用户
portal 上有管理用户的界面.

2. 添加超级管理员

需要在 portal DB 中执行下面的 SQL,
select value,t.* from ApolloPortalDB.ServerConfig t
where `key`='superAdmin'
value 字段, 以逗号分割多个 username .

3. 添加部门

需要在 portal DB 中执行下面的 SQL,
select value,t.* from ApolloPortalDB.ServerConfig t
where `key`='organizations'

value 的样式是,

[{"orgId":"TEST1","orgName":"样例部门 1"},{"orgId":"TEST2","orgName":"样例部门 2"}]
apollo 中的部门和用户没有什么直接联系, 部门仅仅是一个显示项而已.

============================
参考
============================

官方Quick start 文档

https://github.com/ctripcorp/apollo/wiki/Quick-Start
如何编排和部署容器化的Apollo服务
http://ghoulich.xninja.org/2018/04/25/how-to-build-and-deploy-containerized-apollo-service/
如何编译安装Apollo服务器(单机版)
http://ghoulich.xninja.org/2018/04/24/how-to-build-and-install-apollo-in-standalone-mode/

 

==========================================

Apollo 总体架构和官方文档
==========================================
https://www.infoq.cn/article/open-source-configuration-center-apollo
http://www.infoq.com/cn/articles/ctrip-apollo-configuration-center-architecture
https://nobodyiam.com/2018/07/29/configuration-center-makes-microservices-smart/
https://github.com/ctripcorp/apollo/wiki

转载地址:http://vnbxx.baihongyu.com/

你可能感兴趣的文章
运行 Spring Boot 应用的 3 种方式!
查看>>
【内容安全】虚拟化及云环境下数据库审计优缺点分析
查看>>
crmeb电商系统
查看>>
xttprep.tmpl
查看>>
mycat垂直分库
查看>>
无需停机,手把手教您将 Docker CE 切换为 Docker EE
查看>>
Ubuntu 14.04 Web服务器,Apache的安装和配置
查看>>
MaxCompute 图计算用户手册(上)
查看>>
自带科技基因,打造纯原创IP,“燃烧小宇宙”获数千万A轮融资
查看>>
未能加载文件或程序集&quot;Newtonsoft.Json, Version=4.5.0.0
查看>>
C#多线程编程系列(二)- 线程基础
查看>>
Jenkins 内置变量(学习笔记二十四)
查看>>
PostgreSQL 10.1 手册_部分 II. SQL 语言_第 13 章 并发控制_13.2. 事务隔离
查看>>
虚拟机概念
查看>>
【云周刊】第195期:全球首家!阿里云获GNTC2018 网络创新大奖 成唯一获奖云服务商...
查看>>
【VS】使用vs2017自带的诊断工具(Diagnostic Tools)诊断程序的内存问题
查看>>
AutoScaling 支持从实例启动模板创建实例
查看>>
Mysql 查看视图、存储过程、函数、触发器
查看>>
Java提高篇(二):IO字节流、字符流和处理流
查看>>
云HBase集群的规划
查看>>