前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Apollo的部署和动态配置基础使用

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

原创
作者头像
星哥玩云
发布2022-05-28 13:34:46
6190
发布2022-05-28 13:34:46
举报
文章被收录于专栏:开源部署

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汇总下载:

image-20220413113929012
image-20220413113929012

安装配置并启动

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

上传服务器:

代码语言: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/

image-20220413144343246
image-20220413144343246

接着在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/

image-20220413145243538
image-20220413145243538
image-20220413152305896
image-20220413152305896

创建应用

image-20220413152821538
image-20220413152821538

新增配置

image-20220413152838128
image-20220413152838128

验证:

代码语言: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多环境

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Apollo的部署和动态配置基础使用
    • 简介
      • 服务器环境
        • 测试系统介绍
        • 安装java
      • 下载apollo程序文件
        • 下载apollo数据库
          • 安装配置并启动
            • 导入数据库
              • 修改配置文件
                • 启动相关配置
                相关产品与服务
                云服务器
                云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档