apollo搭建(一)
下载安装包:
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
标签:
相关文章
-
无相关信息