背景:作为轻量级消息中间件,Apache Apollo 常被用于 MQTT 协议的消息通信场景。但实际部署中,不少同学会遇到从 Windows 测试环境迁移到 Linux 生产环境的需求 —— 这过程看似简单,却容易踩'路径兼容''权限''数据完整性'的坑。
一、迁移前必知:核心背景与环境信息
先明确迁移的基础信息,避免版本 / 环境不兼容:
- Apollo 版本:必须保持一致(本文以 1.7.1 为例,这是 Apollo 最后一个稳定版);
- JDK 版本:统一用 JDK 1.8(Apollo 对高版本 JDK 兼容性较差);
- 实例目录:
- 原 Windows:
D:\apache-apollo-1.7.1\bin\mybroker - 目标 Linux:
/home/apollo/apache-apollo-1.7.1/bin/mybroker
- 原 Windows:
二、迁移前准备:Linux 环境先搭好
迁移前先把 Linux 环境配置到位,避免后续'卡壳'。
1. 安装 JDK 1.8(以 CentOS 为例)
Apollo 依赖 JDK 1.8,高版本会报类加载错误,所以必须严格匹配:
# 下载 JDK 1.8(或上传本地安装包)
wget https://repo.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz
# 解压到 /usr/local
tar -zxvf jdk-8u202-linux-x64.tar.gz -C /usr/local/
# 配置环境变量(编辑 /etc/profile)
echo 'export JAVA_HOME=/usr/local/jdk1.8.0_202' >> /etc/profile
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile
source /etc/profile
# 验证 java -version
2. 安装 Apollo 1.7.1(与 Windows 版本一致)
# 下载 Apollo 安装包
wget http://apache.fayea.com/activemq/activemq-apollo/1.7.1/apache-apollo-1.7.1-unix-distro.tar.gz
# 解压
tar -zxvf apache-apollo-1.7.1-unix-distro.tar.gz -C /home/apollo/
# 赋予执行权限(Linux 必须!)
chmod -R 755 /home/apollo/apache-apollo-1.7.1
三、核心步骤:迁移关键文件
Apollo 的配置、数据都存在 实例目录(mybroker) 里,只需把这些文件从 Windows 传到 Linux 即可。
要迁移的文件清单(必传) 用 WinSCP/FileZilla 把 Windows 端 mybroker 目录下的这些内容,传到 Linux 端的 mybroker 目录:
| Windows 路径 | Linux 路径 | 作用 |
|---|---|---|
| mybroker/etc/ |

