部署
- Linux/Unix/Mac/Windows
- JDK8
- 需要采用 Apache Maven 3.2.5 或者以上的版本来编译
- 集成部署模式
- 将 meta/data/session 三个角色打包集成在一个 jvm 里运行,可单机或集群部署,部署简单。
- 独立部署模式
- 将 meta/data/session 三个角色分开部署,每个角色都可以单机或集群部署,可根据实际情况为每个角色部署不同的数量。
- 生产环境建议使用这种部署模式。
1.1 下载源码
1.2 编译打包
2. 部署注册中心
2.1 集成部署模式
集成部署模式,是将 meta/data/session 三个角色打包集成在一个 JVM 里运行,可单机或集群部署。
2.1.1 单机部署
集成部署的单机部署模式可以直接参考部分。
2.1.2 集群部署
集群部署,即搭建2台以上的集群,建议至少使用3台(注意:目前不支持在同一台机器部署多个 SOFARegistry,因此您必须有3台不同的机器)。在每一台机器上的部署方法同上:
cp server/distribution/integration/target/registry-integration.tgz <somewhere>
cd <somewhere> && mkdir registry-integration
tar -zxvf registry-integration.tgz -C registry-integration
# 将3台机器的ip或hostname配置到下方(填入的hostname会被内部解析为ip地址)
nodes.metaNode=DefaultDataCenter:<hostname1>,<hostname2>,<hostname3>
nodes.localDataCenter=DefaultDataCenter
nodes.localRegion=DefaultZone
- 启动 registry-integration
每台机器都修改以上配置文件后,按照“单机部署”的步骤去启动 registry-integration 即可。
- Linux/Unix/Mac:sh bin/startup.sh。
- Windows: 双击 bin 目录下的 startup.bat 运行文件。
- 确认运行状态:对每一台机器,都可访问三个角色提供的健康监测api,或查看日志 logs/registry-startup.log
独立部署模式,是将 meta/data/session 三个角色分开部署,每个角色都可以单机或集群部署,可根据实际情况为每个角色部署不同的数量,生产环境推荐使用这种部署模式。
以下介绍332模式(即 3台meta + 3台data + 2台session)的部署步骤。
2.2.1 部署meta
- 解压 registry-meta.tgz,并修改配置文件
cp server/distribution/meta/target/registry-meta.tgz <somewhere>
cd <somewhere> && mkdir registry-meta
每台机器在部署时需要修改 conf/application.properties 配置:
# 将3台meta机器的ip或hostname配置到下方(填入的hostname会被内部解析为ip地址)
nodes.metaNode=DefaultDataCenter:<meta_hostname1>,<meta_hostname2>,<meta_hostname3>
nodes.localDataCenter=DefaultDataCenter
- 启动 registry-meta
- Linux/Unix/Mac:sh bin/startup.sh。
- Windows: 双击 bin 目录下的 startup.bat 运行文件。
- 确认运行状态:对每一台机器,都可访问meta提供的健康监测api,或查看日志 logs/registry-startup.log
# 查看 meta 角色的健康检测接口:(3台机器,有1台是 Leader,其他2台是 Follower)
{"success":true,"message":"... raftStatus:Leader"}
2.2.2 部署data
- 解压 registry-data.tgz,并修改配置文件
在3台机器上部署 data 角色。在每一台机器上的部署方法如下:
每台机器在部署时需要修改 conf/application.properties 配置:
# 将3台 meta 机器的 ip 或 hostname 配置到下方(填入的 hostname 会被内部解析为 ip 地址)
nodes.metaNode=DefaultDataCenter:<meta_hostname1>,<meta_hostname2>,<meta_hostname3>
nodes.localDataCenter=DefaultDataCenter
- 启动 registry-data
- Linux/Unix/Mac:sh bin/startup.sh。
- Windows: 双击 bin 目录下的 startup.bat 运行文件。
- 确认运行状态:对每一台机器,都可访问data提供的健康监测api,或查看日志 logs/registry-startup.log
# 查看 data 角色的健康检测接口:
$ curl http://localhost:9622/health/check
{"success":true,"message":"... status:WORKING"}
2.2.3 部署session
- 解压 registry-session.tgz,并修改配置文件
cp server/distribution/session/target/registry-session.tgz <somewhere>
cd <somewhere> && mkdir registry-session
tar -zxvf registry-session.tgz -C registry-session
每台机器在部署时需要修改 conf/application.properties 配置:
- 启动 registry-session
- Linux/Unix/Mac:sh bin/startup.sh。
- Windows: 双击 bin 目录下的 startup.bat 运行文件。
- 确认运行状态:对每一台机器,都可访问session提供的健康监测api,或查看日志 logs/registry-startup.log
# 查看session角色的健康检测接口:
$ curl http://localhost:9603/health/check