linux控制携程参数,携程 Apollo 配置中心 | 学习笔记(十五)| 如何在Linux中部署Apollo配置中心集群(分布式)?...

本章将介绍如何在Linux 中部署Apollo配置中心集群。java

专栏目录:mysql

欢迎关注我的公众号:  Coder编程git

欢迎关注我的网站:www.52melrin.comgithub

环境以及版本

Apollo: 0.11.0spring

Java JDK:1.8sql

Maven : 3.3.9docker

Mysql : 5.7.9 (要求5.6.5以上)数据库

准备工做

在携程apollo github 官网上,下载最新的源码包0.11.0(目前:2018.7.31),导入到本地的开发工具中(Eclipse、IDEA)。确保相关依赖下载完毕,maven无相关报错便可。导入apollo中的相关数据库表。这里就不作赘述了!编程

测试服务器(两台) 分别是:192.168.220.8三、192.168.220.85    共用192.168.220.83 上的数据库!

注: 接下来,个人端口号设定分别为:

apollo-configservice:30080

apollo-adminservice:30090

apollo-portal:30070

修改文件

5efd4bc6cbb9a422f02d6a27410c42af.png

以192.168.220.85机子为例进行修改。(192.168.220.83修改相似,区别就是Ip地址)

1.修改apollo-adminservice

(1)修改application.yml   的端口号:

server:

port: 30090

(2)修改bootstrap.yml 的Ip地址,防止出现以后docker网络地址找不到。

eureka:

instance:

#hostname: ${hostname:localhost}

preferIpAddress: true

ip-address: 192.168.220.85

client:

serviceUrl:

defaultZone: http://192.168.220.85:30080/eureka/,http://192.168.220.83:30080/eureka/

healthcheck:

enabled: true

eurekaServiceUrlPollIntervalSeconds: 60

endpoints:

health:

sensitive: false

management:

security:

enabled: false

health:

status:

order: DOWN, OUT_OF_SERVICE, UNKNOWN, UP

(3)修改 startup.sh 中的端口

SERVER_PORT=30090

(4)修改Dockerfile中的端口(这一步能够省略,本章只介绍如何部署到Linux服务器中)

EXPOSE 30090

2.修改apollo-configservice

步骤同apollo-adminservice修改步骤,只是将30090端口改成30080端口,是30080端口的不须要修改!

3.修改apollo-portal

一样须要修改端口号为30070。

注:在0.11.0版本以后出现了config 目录。记得将config 目录中的apollo-env.properties中添加:

注:0.11.0 版本以后支出多数据源中心了。

dev.meta=http://192.168.220.85:30080,http://192.168.220.83:30080

4.修改apollo-core

为了防止特殊状况,须要修改apollo-core 中resources 文件夹中的apollo-env.properties,添加:

local.meta=http://localhost:8080

dev.meta=http://192.168.220.85:30080,http://192.168.220.83:30080

fat.meta=${fat_meta}

uat.meta=${uat_meta}

lpt.meta=${lpt_meta}

pro.meta=${pro_meta}

接下来进行打包操做。若是使用eclipse 或者idea 打包的话,可能会出现找不到jdk或者Jre的状况,百度便可。可是也会出现单元测试一直失败报错的状况。能够选择跳过单元测试,或者直接将apollo-client 中的test 下面的测试包所有删掉便可!

5.修改build.bat

我选择的是直接用build.bat进行打包(windows环境下)

build.bat 在整个源码包的scripts目录下!

内容对应我的具体环境进行修改!

本人修改内容以下:

@echo off

rem apollo config db info

set apollo_config_db_url="jdbc:mysql://192.168.220.83:xxxx/ApolloConfigDB?characterEncoding=utf8"

set apollo_config_db_username="root"

set apollo_config_db_password="xxxx"

rem apollo portal db info

set apollo_portal_db_url="jdbc:mysql://192.168.220.83:xxxx/ApolloPortalDB?characterEncoding=utf8"

set apollo_portal_db_username="root"

set apollo_portal_db_password="xxxx"

rem meta server url, different environments should have different meta server addresses

set dev_meta="http://192.168.220.85:30080,http://192.168.220.83:30080"

set fat_meta="http://someIp:8080"

set uat_meta="http://anotherIp:8080"

set pro_meta="http://192.168.220.83:30081"

set META_SERVERS_OPTS=-Ddev_meta=%dev_meta% -Dfat_meta=%fat_meta% -Duat_meta=%uat_meta% -Dpro_meta=%pro_meta%

rem =============== Please do not modify the following content ===============

rem go to script directory

cd "%~dp0"

cd ..

rem package config-service and admin-service

echo "==== starting to build config-service and admin-service ===="

call mvn clean package -DskipTests -pl apollo-configservice,apollo-adminservice -am -Dapollo_profile=github -Dspring_datasource_url=%apollo_config_db_url% -Dspring_datasource_username=%apollo_config_db_username% -Dspring_datasource_password=%apollo_config_db_password%

echo "==== building config-service and admin-service finished ===="

echo "==== starting to build portal ===="

call mvn clean package -DskipTests -pl apollo-portal -am -Dapollo_profile=github,auth -Dspring_datasource_url=%apollo_portal_db_url% -Dspring_datasource_username=%apollo_portal_db_username% -Dspring_datasource_password=%apollo_portal_db_password% %META_SERVERS_OPTS%

echo "==== building portal finished ===="

echo "==== starting to build client ===="

call mvn clean install -DskipTests -pl apollo-client -am %META_SERVERS_OPTS%

echo "==== building client finished ===="

pause

肯定打包成功!

6.修改数据库表

修改apolloconfigdb 中的serverconfig 中的eureka注册中心地址:

http://192.168.220.83:30080/eureka/,http://192.168.220.85:30080/eureka/

部署

如下部署涉及到Linux 服务器的操做步骤。

(1)新建目录

在linux上新建目录结构:

4e8521718d066ed49ba5e140ddd4d240.png

(2)上传文件

分别将打包好的文件。在/target文件夹中的  apollo-portal-0.11.0-github.zip、apollo-adminservice-0.11.0-github.zip、apollo-configservice-0.11.0-github.zip上传至相关文件夹中。

(3)解压

解压命令:

unzip apollo-xxxx-0.11.0-github.zip

分别解压apollo-configservice、apolllo-adminservice、apollo-portal

(4)启动

解压以后,能够看到有scripts目录

7cfdfd4c253aaafe127ab584b393388c.png

经过./startup.sh 运行脚本便可

运行顺序依次为:apollo-configservice——》apollo-adminservice——》apollo-portal

查看结果

在浏览器中输入:192.168.220.85:30070/  便可看到

70e0ed7893a654a2eea68ced54bf6791.png

集群部署

另一台192.168.220.83 部署跟192.168.220.85 步骤同样,只须要修改Ip地址便可,无需修改端口号。

输入192.168.220.85:30080能够看到:

7ce3804f56f457b53231471e33a64d20.png

能够看到已经部署两台,而且成功了!

测试

1. 启动两台服务器端的apollo,客户端成功获取信息。

2.关掉其中一台apollo服务,重启客户端。客户端成功获取信息。

3.两台apollo服务都关停,删除本地缓存,重启客户端,客户端获取信息失败。

4.再次重启其中一台apollo服务,重启客户端,客户端再一次成功获取信息。

本篇Linux部署Apollo分布式集群到此为止,谢谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值