
nobodyiam/apollo-quick-start为帮助快速上手Apollo配置中心,以下提供本地环境部署、启动及使用的详细步骤。本文档基于Quick Start模式,适用于本地测试;生产环境部署需参考Apollo分布式部署指南。若熟悉Docker,也可通过Apollo Quick Start Docker部署快速部署。
注意:Quick Start需bash环境,Windows用户建议安装Git Bash,或通过IDE启动(详见Apollo开发指南)。
示例输出(版本符合即可):shjava -version
Windows用户需确保已配置shjava 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)
JAVA_HOME环境变量。版本要求:5.6.5及以上(因Apollo表结构对timestamp使用多default声明,需此版本以上支持)
检查方法:连接MySQL后执行以下SQL
sqlSHOW VARIABLES WHERE Variable_name = 'version';
示例结果(版本符合即可):
| Variable_name | Value |
|---|---|
| version | 5.7.11 |
安装包已包含依赖及内置Tomcat,无需手动编译打包,直接下载使用即可(大小约50M)。
apollo-quick-start.zip若需修改源码后重新打包,步骤如下:
apollo-configservice、apollo-adminservice、apollo-portal的pom.xml中spring-boot-maven-plugin和maven-assembly-plugin插件shmvn clean package -pl apollo-assembly -am -DskipTests=true
apollo-assembly/target下的jar包,重命名为apollo-all-in-one.jarApollo服务端需两个数据库:ApolloPortalDB(门户数据库)和ApolloConfigDB(配置数据库)。以下为数据库创建及验证步骤。
导入SQL文件:通过MySQL客户端导入sql/apolloportaldb.sql(文件路径为安装包内或项目仓库中)
示例命令(MySQL原生客户端):
sqlsource /本地路径/sql/apolloportaldb.sql
验证导入:执行以下SQL,若返回结果含SampleApp则成功
sqlselect `Id`, `AppId`, `Name` from ApolloPortalDB.App;
预期结果:
| Id | AppId | Name |
|---|---|---|
| 1 | SampleApp | Sample App |
导入SQL文件:通过MySQL客户端导入sql/apolloconfigdb.sql
示例命令:
sqlsource /本地路径/sql/apolloconfigdb.sql
验证导入:执行以下SQL,若返回结果含timeout配置则成功
sqlselect `NamespaceId`, `Key`, `Value`, `Comment` from ApolloConfigDB.Item;
预期结果:
| NamespaceId | Key | Value | Comment |
|---|---|---|---|
| 1 | timeout | 100 | sample timeout配置 |
修改安装包中的demo.sh文件,配置数据库连接串(确保用户有读写权限)。
sh# ApolloConfigDB连接信息 apollo_config_db_url=jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8 apollo_config_db_username=数据库用户名 apollo_config_db_password=数据库密码(无密码则留空) # ApolloPortalDB连接信息 apollo_portal_db_url=jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8 apollo_portal_db_username=数据库用户名 apollo_portal_db_password=数据库密码(无密码则留空)
Quick Start需占用本地3个端口(8070、8080、8090),启动前需确保端口未被占用。
shlsof -i:8070 # 检查8070端口 lsof -i:8080 # 检查8080端口 lsof -i:8090 # 检查8090端口
在安装包目录下执行启动命令:
sh./demo.sh start
若输出以下内容,说明服务启动完成:
sh==== starting service ==== Service logging file is ./service/apollo-service.log Started [***] Waiting for config service startup....... Config service started. You may visit [***] for service status now! Waiting for admin service startup.... Admin service started ==== starting portal ==== Portal logging file is ./portal/apollo-portal.log Started [***] Waiting for portal startup...... Portal started. You can visit [***] now!
若启动失败,可通过以下日志文件定位问题:
./service/apollo-service.log./portal/apollo-portal.logeureka注册失败日志(如Connection refused),属正常现象(服务需向自身注册,启动初期未就绪,后续会重试成功)。apollo,密码adminSampleApp进入配置界面,可见默认配置timeout=100客户端程序用于演示配置获取及动态更新,步骤如下:
sh./demo.sh client
timeout,输出如下即成功获取配置:
sh> timeout > [SimpleApolloConfigDemo] Loading key : timeout with value: 100
SampleApp配置界面,点击timeout项的“编辑”按钮,修改值为200并提交配置发布后,客户端会实时监听变化并输出日志:
sh[SimpleApolloConfigDemo] Changes for namespace application [SimpleApolloConfigDemo] Change - key: timeout, oldValue: 100, newValue: 200, changeType: MODIFIED
再次输入timeout,客户端返回更新后的值:
sh> timeout > [SimpleApolloConfigDemo] Loading key : timeout with value: 200
新应用接入可参考Apollo Java应用接入指南,完成依赖引入、配置等步骤。
client/META-INF/app.properties,将app.id改为新创建的项目AppId
propertiesapp.id=你的新项目AppId
./demo.sh client,按提示输入key即可获取自定义项目配置。探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务