Apollo快速搭建

本教程详细介绍了如何快速搭建Apollo配置中心,包括准备工作、MySQL环境要求、服务启动和客户端程序运行。在完成环境配置后,通过Apollo官网提供的Quick Start启动服务,确保Java 1.8+环境。接着,针对MySQL 5.6.5+版本安装并验证。成功启动服务后,使用Apollo配置中心登录(用户名:apollo,密码:admin),发布和管理配置。最后,指导如何修改客户端appId以接入新项目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

准备工作

https://github.com/nobodyiam/apollo-build-scripts
apollo官网参考
https://github.com/ctripcorp/apollo

https://github.com/ctripcorp/apollo/wiki/Quick-Start

Apollo服务端:1.8+
Apollo客户端:1.7+

由于Quick Start会在本地同时启动服务端和客户端,所以需要在本地安装Java 1.8+。

在配置好后,可以通过如下命令检查:

java -version

样例输出:

java version "1.8.0_74"
Java(TM) SE Runtime Environment (build 1.8.0_74-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.74-b02, mixed mode)

Windows用户请确保JAVA_HOME环境变量已经设置。

MySQL

版本要求:5.6.5+
Apollo的表结构对timestamp使用了多个default声明,所以需要5.6.5以上版本。

连接上MySQL后,可以通过如下命令检查:

SHOW VARIABLES WHERE Variable_name = 'version';
Variable_name	Value
version	5.7.11
创建目录
mkdir -p /data/app/ /data/3306/data  /data/3306/binlog
创建MySQL相关用户、组
useradd mysql
chown -R mysql.mysql /data
系统残留清空
yum remove mariadb-libs -y

获取路径
http://ftp.ntu.edu.tw/MySQL/Downloads/MySQL-5.7/
在这里插入图片描述

软件上传和解压

cd /data/app 
tar zxf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz 
做软连接
ln -s mysql-5.7.28-linux-glibc2.12-x86_64 mysql
chown -R mysql. /data
环境变量配置
vim /etc/profile
添加如下
export PATH=/data/app/mysql/bin:$PATH

在这里插入图片描述

使环境变量生效
source /etc/profile
cat /etc/my.cnf 

cat >/etc/my.cnf <<EOF 

[mysqld]   
user=mysql             
basedir=/data/app/mysql  
datadir=/data/3306/data
server_id=6       
socket=/tmp/mysql.sock        
[client]   

EOF  

在这里插入图片描述

mysqld --initialize-insecure --user=mysql --basedir=/data/app/mysql --datadir=/data/3306/data

准备启动脚本

cp /data/app/mysql/support-files/mysql.server /etc/init.d/mysqld
启动数据库
service mysqld start 
或者
/etc/init.d/mysqld restart

在这里插入图片描述

启动方式2: Centos7 管理方式 systemd

[root@db01 ~] chkconfig --add mysqld
[root@db01 ~] systemctl stop mysqld
[root@db01 ~] systemctl start mysqld
[root@db01 ~] systemctl restart mysqld
登录至数据库查看版本
mysql

SHOW VARIABLES WHERE Variable_name = 'version';

在这里插入图片描述

创建ApolloConfigDB
通过各种MySQL客户端导入sql/apolloconfigdb.sql即可。
下面以MySQL原生客户端为例
source /root/apollo/apollo-build-scripts-master/sql/apolloconfigdb.sql;

在这里插入图片描述

创建ApolloPortalDB
通过各种MySQL客户端导入sql/apolloportaldb.sql即可。
下面以MySQL原生客户端为例
source /root/apollo/apollo-build-scripts-master/sql/apolloportaldb.sql

在这里插入图片描述

授权权限
grant select,insert,update,delete on ApolloConfigDB .* to gx@'%' identified by '123';
grant select,insert,update,delete on ApolloPortalDB .* to gx@'%' identified by '123';
刷新权限
flush privileges;

导入成功后,可以通过执行以下sql语句来验证

select `Id`, `AppId`, `Name` from ApolloPortalDB.App;

在这里插入图片描述

导入成功后,可以通过执行以下sql语句来验证:

select `NamespaceId`, `Key`, `Value`, `Comment` from ApolloConfigDB.Item;

在这里插入图片描述

vim /root/apollo/apollo-build-scripts-master/demo.sh 

在这里插入图片描述

./demo.sh start
查看阿波罗日志详情
tailf ./portal/apollo-portal.log 
当看到如下输出后,就说明启动成功了!

==== starting service ====
Service logging file is ./service/apollo-service.log
Started [10768]
Waiting for config service startup.......
Config service started. You may visit http://localhost:8080 for service status now!
Waiting for admin service startup....
Admin service started
==== starting portal ====
Portal logging file is ./portal/apollo-portal.log
Started [10846]
Waiting for portal startup......
Portal started. You can visit http://localhost:8070 now!

异常排查
如果启动遇到了异常,可以分别查看service和portal目录下的log文件排查问题。

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

使用Apollo配置中心

打开http://localhost:8080
打开http://localhost:8090
打开http://localhost:8070

在这里插入图片描述

在这里插入图片描述

输入用户名apollo,密码admin后登录

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

运行客户端程序

./demo.sh client

运行./demo.sh client启动Demo客户端,忽略前面的调试信息,可以看到如下提示

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在配置界面点击timeout这一项的编辑按钮

在这里插入图片描述

在这里插入图片描述

点击发布按钮,并填写发布信息

在这里插入图片描述

在这里插入图片描述

客户端查看修改后的值

在这里插入图片描述

使用新的项目

应用接入Apollo

这部分可以参考Java应用接入指南

运行客户端程序
由于使用了新的项目,所以客户端需要修改appId信息。

编辑client/META-INF/app.properties,修改app.id为你新创建的app id。

app.id=你的appId

在这里插入图片描述
运行./demo.sh client启动Demo客户端即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值