Linux下怎么部署Apollo分布式配置中心

秋强同学_4440

秋强同学_4440

2026-06-11

310人浏览

原创

apollo在linux上启动失败90%因三处:mysql 8.0+需先执行alter user...caching_sha2_password改为mysql_native_password再导入sql;$java_home必须非空且含/bin/java;服务须严格按configservice→adminservice→portal顺序启动。

linux下怎么部署apollo分布式配置中心

Apollo 在 Linux 上跑不起来,90% 是卡在数据库认证、$JAVA_HOME 未生效、或服务启动顺序错这三处——不是配置写得不对,而是环境没真正就绪。

MySQL 8.0+ 连不上?先改认证插件再导入 SQL

MySQL 8.0 默认用 caching_sha2_password,但 Apollo 内置驱动只认 mysql_native_password。报错 Client does not support authentication protocol 就是这个原因,跟密码对不对无关。

  • 用 root 登录 MySQL 后立刻执行:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
  • 必须在这条之后,再导入 apolloportaldb.sql 和 apolloconfigdb.sql;漏掉 apolloportaldb.sql,Portal 根本打不开
  • 两个库要分开建:ApolloPortalDB(全局一套)、ApolloConfigDB(每个环境一套),不能共用一个库
  • spring.datasource.password 值里不能含空格,否则连接池初始化失败,日志只显示 Connection refused,实际是解析中断

application-github.properties 配置必须改对的三处

这个文件在 apollo-configservice/conf/ 和 apollo-adminservice/conf/ 下各一份,内容相似但作用不同。最容易被忽略的是:

Linux installer
Linux installer

先解析安全源,运行本地CLI安装、启动、卸载Linux桌面应用。用户请求时使用。

下载
  • spring.datasource.url 必须指向你建好的 ApolloConfigDB,端口、库名、参数(如 ?useSSL=false&characterEncoding=utf8)一个都不能少
  • eureka.service.url 要写成完整地址,例如 http://192.168.1.10:8080/eureka/;如果是多节点,用英文逗号分隔多个地址
  • 必须显式设置 apollo.profile=github,否则 Spring Boot 会 fallback 到空 profile,读不到这个文件,所有数据库配置都失效

服务必须按 configservice → adminservice → portal 顺序启动

Portal 依赖 AdminService 提供 API,AdminService 又依赖 ConfigService 的元数据服务。强行先启 Portal,它会一直报 500 或白屏。

  • 启动前检查 $JAVA_HOME:运行 echo $JAVA_HOME,确认输出非空,且该路径下存在 /bin/java
  • ConfigService 启动后,立刻验证 Eureka 是否注册成功:curl http://localhost:8080/eureka/apps 应返回 XML 或 JSON 列表;如果返回 404 或空,大概率是 eureka.service.url 没配对,或机器有 docker0 网卡导致注册了错误 IP
  • 多网卡场景下,需在 startup.sh 的 JVM 参数里加:-Dspring.cloud.inetutils.ignoredInterfaces[0]=docker0 -Dspring.cloud.inetutils.ignoredInterfaces[1]=veth.*

最常被跳过的动作是:改完 MySQL 认证插件后没重启 mysqld,或者导入 SQL 时用了非 root 用户权限不足;apollo.profile=github 这一行容易被注释掉,一启动就 fallback 到空配置——这些地方不细看日志,根本找不到根因。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
什么是分布式
什么是分布式

分布式是一种计算和数据处理的方式,将计算任务或数据分散到多个计算机或节点中进行处理。本专题为大家提供分布式相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

1973

5

分布式和微服务的区别
分布式和微服务的区别

分布式和微服务的区别在定义和概念、设计思想、粒度和复杂性、服务边界和自治性、技术栈和部署方式等。本专题为大家提供分布式和微服务相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.07

2874

5

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3930

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3373

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2513

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

6070

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5722

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3353

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2865

4

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习