Apollo配置中心高可用部署
一、准备工作
1.准备两台机器,每台安装一个MySQL
1.1 Dev环境MySQL安装命令脚本
docker run -d \
-p 3306:3306 \
--name apollo-dev \
-v apollo-dev:/var/lib/apollo-dev \
-e MYSQL_ROOT_PASSWORD=123456 \
--restart=always \
mysql
1.2 Pro环境MySQL安装命令脚本
docker run -d \
-p 3306:3306 \
--name apollo-pro \
-v apollo-pro:/var/lib/apollo-pro \
-e MYSQL_ROOT_PASSWORD=123456 \
--restart=always \
mysql
二、Apollo配置中心数据库建立
1.下载Apollo配置中心数据库脚本 github直通车
2.解压找到scripts文件夹,打开得到sql脚本
3.Dev环境的MySQL构建
3.1 创建数据库ApolloConfigDB
3.2 执行Apollo配置中心sql脚本
4.Pro环境执行Apollo配置中心sql脚本
4.1 创建数据库ApolloConfigDB和ApolloPortalDB
4.2 执行Apollo配置中心sql脚本,ApolloConfigDB和ApolloPortal各导入对应的上sql脚本
三、Apollo服务启动
1.Dev环境启动
需要注意的是:本机IP一律填入真实IP,localhost不能替代
docker run -p 8080:8080 \
-e SPRING_DATASOURCE_URL="jdbc:mysql://dev环境mysql服务ip:3306/ApolloConfigDB?characterEncoding=utf8" \
-e SPRING_DATASOURCE_USERNAME=root -e SPRING_DATASOURCE_PASSWORD=123456 \
-e EUREKA_INSTANCE_IP_ADDRESS=dev环境ip \
--restart=always \
-d -v /tmp/logs:/opt/logs --name apollo-configservice-dev apolloconfig/apollo-configservice
docker run -p 8090:8090 \
-e SPRING_DATASOURCE_URL="jdbc:mysql://dev环境mysql服务ip:3306/ApolloConfigDB?characterEncoding=utf8" \
-e SPRING_DATASOURCE_USERNAME=root -e SPRING_DATASOURCE_PASSWORD=123456 \
-e EUREKA_INSTANCE_IP_ADDRESS=dev环境ip \
--restart=always \
-d -v /tmp/logs:/opt/logs --name apollo-adminservice-dev apolloconfig/apollo-adminservice
2.Pro环境部署
docker run -p 8080:8080 \
-e SPRING_DATASOURCE_URL="jdbc:mysql://pro环境mysql服务ip:3306/ApolloConfigDB?characterEncoding=utf8" \
-e SPRING_DATASOURCE_USERNAME=root -e SPRING_DATASOURCE_PASSWORD=123456 \
-e EUREKA_INSTANCE_IP_ADDRESS=pro环境ip \
--restart=always \
-d -v /tmp/logs:/opt/logs --name apollo-configservice-dev apolloconfig/apollo-configservice
docker run -p 8090:8090 \
-e SPRING_DATASOURCE_URL="jdbc:mysql://pro环境mysql服务ip:3306/ApolloConfigDB?characterEncoding=utf8" \
-e SPRING_DATASOURCE_USERNAME=root -e SPRING_DATASOURCE_PASSWORD=123456 \
-e EUREKA_INSTANCE_IP_ADDRESS=pro环境ip \
--restart=always \
-d -v /tmp/logs:/opt/logs --name apollo-adminservice-dev apolloconfig/apollo-adminservice
docker run -p 8070:8070 -d \
-e SPRING_DATASOURCE_URL="jdbc:mysql://pro环境ip:3306/ApolloPortalDB?characterEncoding=utf8" \
-e SPRING_DATASOURCE_USERNAME=root -e SPRING_DATASOURCE_PASSWORD=123456 \
-e APOLLO_PORTAL_ENVS=dev,pro \
-e DEV_META=http://dev环境ip:8080 \
-e PRO_META=http://pro环境ip:8080 \
--restart=always \
-v /tmp/logs:/opt/logs --name apollo-portal apolloconfig/apollo-portal
3.Portal环境,8070端口可视化进行管理