素材巴巴 > 程序开发 >

apollo搭建(一)

程序开发 2023-09-22 12:39:55

下载安装包:
apollo-adminservice-1.3.0-github.zip
apollo-configservice-1.3.0-github.zip
apollo-portal-1.3.0-github.zip
https://github.com/ctripcorp/apollo/releases

获取sql:
apolloconfigdb.sql
apolloportaldb.sql
https://github.com/ctripcorp/apollo/tree/master/scripts/docker-quick-start/sql

Mysql:版本要求:5.6.5+

搭建目标:
一套Portal可以管理多个环境,但是每个环境都需要独立部署一套Config Service、Admin Service和ApolloConfigDB(数据库)
在这里插入图片描述

1.创建数据库
导入sql/apolloportaldb.sql,sql/apolloconfigdb.sql

如果有多个环境,apolloconfigdb.sql一个环境对应一个,apolloportaldb.sql一个就行

注:只在数据库添加环境是不起作用的,还需要为apollo-portal和apollo-client添加新增环境对应的meta server地址。

1.1修改apolloportaldb里的表serverconfig
添加环境:
在这里插入图片描述
1.2修改dev环境下的apolloconfigdb里的表serverconfig(其他环境的类似修改):
默认apollo-configservice本身就是一个eureka服务,所以只需要填入apollo-configservice的地址即可,如有多个,用逗号分隔(注意不要忘了/eureka/后缀)。
在这里插入图片描述
注1:这里需要填写本环境中全部的eureka服务地址,因为eureka需要互相复制注册信息
注2:如果希望将Config Service和Admin Service注册到公司统一的Eureka上

pollo默认自带了Eureka作为内部的注册中心实现,一般情况下不需要考虑为Apollo单独部署注册中心。

如需要注册到自己的Eureka,需修改Config Service:

修改com.ctrip.framework.apollo.configservice.ConfigServiceApplication,把@EnableEurekaServer改为@EnableEurekaClient
@EnableEurekaClient
@EnableAspectJAutoProxy
@EnableAutoConfiguration // (exclude = EurekaClientConfigBean.class)
@Configuration
@EnableTransactionManagement
@PropertySource(value = {“classpath:configservice.properties”})
@ComponentScan(basePackageClasses = {ApolloCommonConfig.class,
ApolloBizConfig.class,
ConfigServiceApplication.class,
ApolloMetaServiceConfig.class})
public class ConfigServiceApplication {

}
修改ApolloConfigDB.ServerConfig表中的eureka.service.url,指向自己的Eureka地址

需要注意的是更改Eureka地址只需要改ApolloConfigDB.ServerConfig表中的eureka.service.url即可,不需要修改meta server地址。

2.部署Apollo服务端
将对应环境的apollo-configservice-x.x.x-github.zip,apollo-adminservice-x.x.x-github.zip上传到服务器上
2.3.1 部署apollo-configservice
解压后修改conf下的application-github.properties:
注意选择对应环境的数据库
在这里插入图片描述
启动:执行scripts/startup.sh ok
如需停止服务,执行scripts/shutdown.sh.(默认是8080端口,端口占用需修改端口号,vim打开startup.sh,修改SERVER_PORT,修改了端口号,如用的默认eureka,需修改对应数据库配置)

注1:如果需要修改JVM参数,可以修改startup.sh的JAVA_OPTS部分。
默认设置

export JAVA_OPTS="-server -Xms6144m -Xmx6144m -Xss256k -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=384m -XX:NewSize=4096m -XX:MaxNewSize=4096m -XX:SurvivorRatio=18"
 

注2:如要调整服务的日志输出路径,可以修改startup.sh中的LOG_DIR。

注3:如要调整服务的监听端口,可以修改startup.sh中的SERVER_PORT。另外apollo-configservice同时承担meta server职责,如果要修改端口,注意要同时修改scripts/build.sh中的meta server url信息以及ApolloConfigDB.ServerConfig表中的eureka.service.url配置项。
也可以再运行时指定需要注册到的Eureka:-Deureka.instance.ip-address=http:// 指 定 的 I P , − D e u r e k a . i n s t a n c e . h o m e P a g e U r l = h t t p : / / {指定的IP},-Deureka.instance.homePageUrl=http:// 指定的IP,−Deureka.instance.homePageUrl=http://{指定的IP}?{指定的Port}

注4:如果ApolloConfigDB.ServerConfig的eureka.service.url只配了当前正在启动的机器的话,在启动apollo-configservice的过程中会在日志中输出eureka注册失败的信息,如com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused。需要注意的是,这个是预期的情况,因为apollo-configservice需要向Meta Server(它自己)注册服务,但是因为在启动过程中,自己还没起来,所以会报这个错。后面会进行重试的动作,所以等自己服务起来后就会注册正常了。

2.3.2 部署apollo-adminservice
解压后修改conf下的application-github.properties:
在这里插入图片描述
scripts下: ./startup.sh
2.3.3 部署apollo-portal
解压后修改conf下的apollo-env.properties:
配置各环境meta service地址(configservice部署的地址)

local.meta=http://localhost:8080
 dev.meta=http://192.168.xxx.xxx:8080
 fat.meta=http://192.168.xxx.xxx:8080
 #uat.meta=http://fill-in-uat-meta-server:8080
 #lpt.meta=${lpt_meta}
 #pro.meta=http://fill-in-pro-meta-server:8080
 

解压后修改conf下的application-github.properties:

# DataSource
 spring.datasource.url = jdbc:mysql://192.168.xxx.xxx:3306/ApolloPortalDB?characterEncoding=utf8
 spring.datasource.username = root
 spring.datasource.password = 123456
 ~
 

scripts下:./startup.sh
注1:如果需要修改JVM参数,可以修改startup.sh的JAVA_OPTS部分。
注2:如要调整服务的日志输出路径,可以修改startup.sh中的LOG_DIR。
注3:如要调整服务的监听端口,可以修改startup.sh中的SERVER_PORT。

2.3.4 访问apollo-portal
http://192.168.xxx.xxx:8070
默认账号密码:apollo admin
在这里插入图片描述
访问另外两个环境的注册中心:
可以看到注册上去的两服务
http://192.168.xxx.xxx:8080
http://192.168.xxx.xxx:8080
在这里插入图片描述

参考:
https://blog.csdn.net/luhong327/article/details/81453001


标签:

素材巴巴 Copyright © 2013-2021 http://www.sucaibaba.com/. Some Rights Reserved. 备案号:备案中。