Apollo的部署和动态配置基础使用

2022-05-28 13:34:46 浏览数 (2)

Apollo的部署和动态配置基础使用

简介

Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,以及能实现灰度发布等实现,配置修改后能够动态推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。

服务器环境

测试系统介绍

系统

Centos7

java环境

java1.8

数据库

MariaDB-10.2.9

IP

192.168.1.3

安装java

代码语言:javascript复制
​
mkdir /data/software/
cd /data/software/
wget http://js.funet8.com/centos_software/jdk-8u211-linux-x64.tar.gz
mkdir /usr/local/java/
tar -zxvf jdk-8u211-linux-x64.tar.gz -C /usr/local/java/
​
echo '
export JAVA_HOME=/usr/local/java/jdk1.8.0_211
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
'>> /etc/profile
source /etc/profile
​
ln -s /usr/local/java/jdk1.8.0_211/bin/java /usr/bin/java
​
java -version

下载apollo程序文件

从github上下载相关配置文件,下载的是apollo1.9.2的,大家可以根据下载地址自行选择:apollo版本下载地址

下载apollo数据库

在apollo上下载相关sql文件,并在数据库中执行。 sql下载地址(建议数据库版本mysql 5.7以上,如果以下会有一些语法和规范需要修改)

从github汇总下载:

安装配置并启动

本地的虚拟机中安装配置的,大家也可以购买远程服务器安装。

上传服务器:

代码语言:javascript复制
drwxr-xr-x 4 root root 149 Apr 13 11:50 apollo-adminservice-1.9.2-github
drwxr-xr-x 4 root root 152 Apr 13 11:51 apollo-configservice-1.9.2-github
drwxr-xr-x 4 root root 131 Apr 13 11:51 apollo-portal-1.9.2-github
drwxr-xr-x 2 root root  58 Apr 13 11:49 mysql

导入数据库

代码语言:javascript复制
# mysql -u root -h192.168.1.10 -P 61920 -p123456
# 导入数据 ApolloPortalDB
> source /root/apolloportaldb.sql
​
# 导入 ApolloConfigDB
> source /root/apolloconfigdb.sql
​
ERROR 1231 (42000) at line 424 in file: '/root/apolloconfigdb.sql': Variable 'character_set_client' can't be set to the value of 'NULL'

修改配置文件

修改这三个服务中的application-github.properties文件。 在adminService和configService服务中将数据库配置连接到,执行apolloconfigdb.sql的数据库中。 在portal服务中将数据库配置连接到,执行apolloportaldb.sql的数据库中。

代码语言:javascript复制
编辑文件并且修改数据库配置
# vi apollo-adminservice-1.9.2-github/config/application-github.properties 
spring.datasource.url = jdbc:mysql://192.168.1.10:61920/ApolloConfigDB?characterEncoding=utf8
spring.datasource.username = root
spring.datasource.password = 123456
​
# vi apollo-configservice-1.9.2-github/config/application-github.properties 
spring.datasource.url = jdbc:mysql://192.168.1.10:61920/ApolloConfigDB?characterEncoding=utf8
spring.datasource.username = root
spring.datasource.password = 123456
​
# vi apollo-portal-1.9.2-github/config/application-github.properties 
spring.datasource.url = jdbc:mysql://192.168.1.10:61920/ApolloPortalDB?characterEncoding=utf8
spring.datasource.username = root
spring.datasource.password = 123456
​

启动相关配置

先启动 configService

启动示例图:

代码语言:javascript复制
# chown www.www -R /data/wwwroot/web/apollo-1.9.2-github/
# su -l www
# cd /data/wwwroot/web/apollo-1.9.2-github/apollo-configservice-1.9.2-github/scripts/
# sh startup.sh
Started [11613]
Waiting for server startup..
Wed Apr 13 14:40:05 CST 2022 Server started in 20 seconds!
​
日志地址 LOG_DIR=/opt/logs/100003171
# chown www.www -R /opt/logs/
# netstat -tunpl|grep java
tcp6       0      0 :::8080                 :::*                    LISTEN      11846/java  
服务启动了

浏览器访问: http://192.168.1.3:8080/

接着在adminServiceprotal服务中如法炮制一样,启动对应startup.sh脚本

代码语言:javascript复制
启动 adminService
# cd  /data/wwwroot/web/apollo-1.9.2-github/apollo-adminservice-1.9.2-github/scripts/
# sh ./startup.sh
​
查看端口
# netstat -tunpl|grep java
tcp6       0      0 :::8090                 :::*                    LISTEN      12071/java          
tcp6       0      0 :::8080                 :::*                    LISTEN      11846/java      
​
启动 protal
# cd /data/wwwroot/web/apollo-1.9.2-github/apollo-portal-1.9.2-github/scripts/
# sh ./startup.sh 
​
开放端口(非必要):
iptables -A INPUT -p tcp --dport 8070 -j ACCEPT
iptables -A INPUT -p tcp --dport 8090 -j ACCEPT
service iptables save
systemctl restart iptables.service
代码语言:javascript复制
# vi apollo-portal-1.9.2-github/config/apollo-env.properties
local.meta=http://localhost:8080
dev.meta=http://fill-in-fat-meta-server:8080
fat.meta=http://fill-in-fat-meta-server:8080
uat.meta=http://fill-in-uat-meta-server:8080
lpt.meta=${lpt_meta}
pro.meta=http://fill-in-pro-meta-server:8080
修改
local.meta=http://localhost:8080
dev.meta=http://192.168.1.3:8080
#fat.meta=http://fill-in-fat-meta-server:8080
#uat.meta=http://fill-in-uat-meta-server:8080
lpt.meta=${lpt_meta}
pro.meta=http://192.168.1.3:8080
重启服务

浏览器访问: http://192.168.1.3:8070/

创建应用

新增配置

验证:

代码语言:javascript复制
{config_server_url}/configfiles/json/{appId}/{clusterName}/{namespaceName}?ip={clientIp}
​
# curl http://192.168.1.3:8080/configfiles/json/test001/default/application
{"ip":"192.168.1.10","domain":"www.baidu.com"}

Apollo搭建完成,后期再搭建Apollo多环境

0 人点赞