本博客讲详细讲解如何在 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 info
apollo_config_db_url=jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8
apollo_config_db_username=用户名
apollo_config_db_password=密码(如果没有密码,留空即可)# apollo portal db info
apollo_portal_db_url=jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8
apollo_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

转载于:https://www.cnblogs.com/harrychinese/p/apollo_windows_dev.html

携程apollo系列-个人开发环境搭建相关推荐

  1. 【瑞萨RA4系列】开发环境搭建和点灯指南

    [瑞萨RA4系列开发板体验]开发环境搭建和新手点灯指南 文章目录 [瑞萨RA4系列开发板体验]开发环境搭建和新手点灯指南 一.简单开箱 二.芯片简介 三.开发环境搭建 2.1 安装FSP(RASC) ...

  2. 【s32k】s32k14x系列(1)——开发环境搭建

    文章目录 s32k1xx环境搭建 1. S32K系列MCU开发环境 2. 软件安装包及SDK获取 3. 软件安装 s32k1xx环境搭建 1. S32K系列MCU开发环境 主要有以下三种环境供我们选择 ...

  3. apollo local 模式_Java客户端使用指南 - 五、本地开发模式 - 《携程 Apollo v1.4 开发指南》 - 书栈网 · BookStack...

    五.本地开发模式 Apollo客户端还支持本地开发模式,这个主要用于当开发环境无法连接Apollo服务器的时候,比如在邮轮.飞机上做相关功能开发. 在本地开发模式下,Apollo只会从本地文件读取配置 ...

  4. Cortex-M0系列 - IAR开发环境搭建

    序言 IAR的安装破解在其他博文中有教程,可直接跳转 ~ IAR安装破解教程 本篇描述在IAR中搭建Cortex-M0的开发环境,博主所用的芯片是STM32F030,其他M0的芯片也是一样的. IAR ...

  5. [开发工具] 史上最全系列之开发环境搭建之DDMS

    原文链接:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=275774 一.简介 DDMS 的全称是DalvikDebug Mon ...

  6. 树莓派slam_SLAM+语音机器人DIY系列:(五)树莓派3开发环境搭建——6.树莓派USB与tty串口号绑定...

    摘要 通过前面一系列的铺垫,相信大家对整个miiboo机器人的DIY有了一个清晰整体的认识.接下来就正式进入机器人大脑(嵌入式主板:树莓派3)的开发.本章将从树莓派3的开发环境搭建入手,为后续ros开 ...

  7. SLAM导航机器人零基础实战系列:(五)树莓派3开发环境搭建——2.安装ros-kinetic

    SLAM导航机器人零基础实战系列:(五)树莓派3开发环境搭建--2.安装ros-kinetic 摘要 通过前面一系列的铺垫,相信大家对整个miiboo机器人的DIY有了一个清晰整体的认识.接下来就正式 ...

  8. SLAM导航机器人零基础实战系列:(五)树莓派3开发环境搭建——1.安装系统ubuntu_mate_16.04...

    SLAM导航机器人零基础实战系列:(五)树莓派3开发环境搭建--1.安装系统ubuntu_mate_16.04 摘要 通过前面一系列的铺垫,相信大家对整个miiboo机器人的DIY有了一个清晰整体的认 ...

  9. SLAM导航机器人零基础实战系列:(五)树莓派3开发环境搭建——5.Android手机端与robot端ROS网络通信...

    SLAM导航机器人零基础实战系列:(五)树莓派3开发环境搭建--5.Android手机端与robot端ROS网络通信 摘要 通过前面一系列的铺垫,相信大家对整个miiboo机器人的DIY有了一个清晰整 ...

最新文章

  1. 8个JavaScript库可更好地处理本地存储
  2. Windows 8实用窍门系列:9.Windows 8中使用FlipView
  3. Linux安装配置tomcat
  4. c语言用fun函数求最大公约数,C语言用函数求最大公约,最小公约数
  5. 12_通过上下文操作私有目录模式说明
  6. jQuery图片LightBox插件 点击图片放大 支持移动手机
  7. CleanMyMac X下载Mac系统清理优化工具
  8. 双稳态电路的两个稳定状态是什么_555时基电路内部结构及其工作原理
  9. 1200PLC学习资料整理
  10. 赵普:安全感先于幸福感
  11. oppo k10 Pro和iqooneo6哪个性能更强 哪个值得买呢
  12. Web网页分享到新浪微博与QQ空间链接
  13. bios无cfg lock的情况如何disable cfg lock
  14. 将Google Analytics for Firebase数据导入BigQuery
  15. 知名985北京师范大学,也改考408了!
  16. VB.net入门(6):类~构造函数,事件
  17. 学妹为了学习数电,自制555芯片
  18. 模拟电子电路基础——CS放大器的归纳与应用
  19. MYSQL中的COLLATE是什么?
  20. 智明OA漏洞学习——EmailDownload.ashx 任意文件下载漏洞

热门文章

  1. http与https与socket tcp/IP与UDP 协议等
  2. BZOJ 1036: [ZJOI2008]树的统计Count
  3. undefined reference to `jpeg_std_error(jpeg_error_mgr*)
  4. 将sklearn训练速度提升100多倍,美国「返利网」开源sk-dist框架
  5. 孙宇java_[JAVA] 孙宇老师Struts2+Hibernate4+Maven+EasyUI+SpringMvc+Spring+Mybatis+Maven整合课程...
  6. python 数据结构定义_【Python】数据结构如何定义以及清理 例如订单的附带商品信息数据...
  7. 九九乘法表Python+Java
  8. 代码安全检视方法有_在华为写了 13 年代码,都是宝贵的经验
  9. 大神交流经验!浙大吴飞与贾扬清经典十问!
  10. 收藏 | LSTM模型结构的可视化