搭建apollo统一配置中心
apollo官方链接
安装我们之前安装好的环境把Apollo安装在centos01
1.安装jdk1.8
mkdir /usr/java
下载 jdk1.8 (自行下载) jdk-8u221-linux-x64.tar.gz 放到该目录下
重命名
mv jdk1.8.0_181 jdk1.8
进入 vi /etc/profile
#set java environment
JAVA_HOME=/usr/java/jdk1.8
CLASSPATH=$JAVA_HOME/lib
$后面不要带空格
PATH=$ PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
刷新文件
source /etc/profile
2.配置mysql
版本要求:5.6.5+
Apollo的表结构对timestamp使用了多个default声明,所以需要5.6.5以上版本。
连接上MySQL后,可以通过如下命令检查:
SHOW VARIABLES WHERE Variable_name = ‘version’;
Variable_name Value
version 5.7.11
3.拉取apollo
3.1 clone或者下载apollo项目导入idea
3.2创建数据库ApolloPortalDB,ApolloConfigDB
可以直接复制db下的 v1.0.0_initialization.sql的到数据库进行执行即可以生成两个对应的数据库
或者通过各种MySQL客户端导入sql/apolloportaldb.sql,sql/apolloconfigdb.sql即可。
下面以MySQL原生客户端为例:
source /your_local_path/sql/apolloconfigdb.sql
我当前的的路径是
source /usr/local/apollo/apollo-build/sql/apolloportaldb.sql
source /usr/local/apollo/apollo-build/sql/apolloconfigdb.sql
select Id
, AppId
, Name
from ApolloPortalDB.App;(有数据就导入成功)
select NamespaceId
, Key
, Value
, Comment
from ApolloConfigDB.Item;(有数据就导入成功)
同样的操作把apolloconfigdb的数据库分别导入centos02,centos03
3.3 配置apollo的配置重新打包
配置对应的环境(我这边就把centos01,centos02, centos03 分表做为 pro, fat, dev 为生产环境测试环境和开发环境)
配置数据库
修改数据库添加环境 apollo.portal.envs dev,fat,pro
apollo_config_db_url=jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8
apollo_config_db_username=root
apollo_config_db_password=root
#apollo portal db info
apollo_portal_db_url=jdbc:mysql://centos01:3306/ApolloPortalDB?characterEncoding=utf8
apollo_portal_db_username=root
apollo_portal_db_password=root
#meta server url, different environments should have different meta server addresses
dev_meta=http://centos03:8080
fat_meta=http://centos02:8080
#uat_meta=http://fill-in-uat-meta-server:8080
pro_meta=http://centos01:8080
重新打包
打开终端进入代码的scripts
输入./build.sh
打包完成之后把
/apollo/apollo-portal/target/apollo-portal-1.5.0-SNAPSHOT-github.zip 的压缩包放到centos01 的/usr/local/apollo上
再分别把
/apollo/apollo-adminservice/target/apollo-adminservice-1.5.0-SNAPSHOT-github.zip
/apollo/apollo-configservice/target/apollo-configservice-1.5.0-SNAPSHOT.jar
放到centos01,centos02,centos03 的/usr/local/apollo上
解压到对应的 apollo-portal,apollo-adminservice,apollo-configservice
unzip apollo-portal-1.5.0-SNAPSHOT-github.zip -d apollo-portal
unzip apollo-adminservice-1.5.0-SNAPSHOT-github.zip -d apollo-adminservice
unzip apollo-configservice-1.5.0-SNAPSHOT-github.zip -d apollo-configservice
4.启动Apollo配置中心
脚本会在本地启动3个服务,分别使用8070, 8080, 8090端口,请确保这3个端口当前没有被使用。
在Linux下,可以通过如下命令检查:
lsof -i:8080
分别进入centos01,centos02,centos03 启动
启动顺序为 apollo-configservice apollo-adminservice
最后在centos01 启动 apollo-portal
有些小伙伴没有开放端口的需要配置
外网访问开放端口8000-9000
firewall-cmd --zone=public --add-port=8000-9000/tcp --permanent
firewall-cmd --reload
启动完成后访问http://centos01:8070/
如果启动遇到了异常,可以分别查看service和portal目录下的log文件排查问题。
注:在启动apollo-configservice的过程中会在日志中输出eureka注册失败的信息,如com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused。需要注意的是,这个是预期的情况,因为apollo-configservice需要向Meta Server(它自己)注册服务,但是因为在启动过程中,自己还没起来,所以会报这个错。后面会进行重试的动作,所以等自己服务起来后就会注册正常了。
5.使用配置中心
打开http://localhost:8070
集成了Spring Security简单认证,更多信息可以参考Portal 实现用户登录功能
登录
输入用户名apollo,密码admin后登录
手动补缺环境即可
出现这样意味着配置成功