模块部署
完成模块与系统安装
Installer能够安装单独模块,也可以把所有模块部署在一个服务器进行测试。
对于初次使用,建议先体验All In One部署,熟悉了平台基本使用后,根据需求设计好项目架构,然后在各服务器独立部署。
注意:安装前请保障firewalld服务开启,并且当前用户有权限进行变更。
Installer下载到服务器,解压之后直接启动就可以开始进行安装。假定下载目录为/opt/taiyi/
$cd /opt/taiyi
$tar zcfv taiyi_release.tar.gz
$./installer
Installer v0.1.3 started
Ready to install Project-Taiyi ...
0 - Portal
1 - Node
2 - Gateway
3 - Update all modules
4 - Forcibly update all modules
5 - All in one sample1: 1 portal/ 1 node/ 1 gateway
6 - All in one sample2: 1 portal/ 3 node/ 1 gateway
7 - Uninstall all modules
8 - Exit
Input index to install:
All In One
系统支持各模块部署在同一个服务器节点工作,也允许一个服务器部署多个存储节点。这种模式能够使用最小的资源进行产品测试,但是相应地损失了系统的处理性能和可用性,所以不要在生产环境下使用该方式部署。
安装
Installer提供了两种演示模式,我们选择部署Sample 2 (3个存储节点/1个管理门户/1个接入网关),更加接近实际环境。
选择后,Installer会提示用户输入配置信息,绝大部分选项都由系统自动生成,直接回车即可。只有选项“Current Organization",需要用户指定组织标识。
Installer会根据用户输入,自动构建默认配置,并安装所有模块。
启动
如无意外,5个模块均已安装在/opt/taiyi路径下,执行以下指令,启动所有服务
启动门户
$cd /opt/taiyi/portal
$./portal start
启动资源节点
$cd ../node1
$./node start
$cd ../node2
$./node start
$cd ../node3
$./node start
启动网关
$cd ../gateway
$./gateway start
服务全部启动后,可以进行系统初始化
独立部署
本产品是分布式系统,意味着各模块通常部署在不同的服务器上协同工作,为应用层提供服务。下图是一个典型的组网图
存储节点 Node:负责区块链交易处理和结果持久化存储,多个存储节点组成集群委员会负责交易与出块共识,一个集群中至少应当有三个或者以上存储节点进行有效共识。
管理门户 Portal:对管理员提供Web页面对链集群进行配置管理,一个集群只需要一个门户模块即可。
接入网关 Gateway:负责处理并校验应用请求,集群能够部署多个网关来拓展总体处理能力,应用从任意网关都能正常访问系统。
管理员在Installer中选择对应模块进行安装,假定所有模块都安装在/opt/taiyi路径下
所有模块安装并启动后,就可以进行系统初始化
存储节点 Node
存储节点大部分参数使用默认配置即可,只有两组参数需要注意
- Listen IP是监听地址,默认为空,使用localhost在Service Port上启动通信服务。如果存在多个网卡,则需要使用"a.b.c.d"的IPv4格式指定所在网卡。
- 当其他存储节点与本节点不在同一个网络,需要提供对外地址进行通讯时,则设置Published Address,格式为"公网地址:公网端口"
安装完成后,启动模块
$cd /opt/taiyi/node
$./node start
管理门户 Portal
管理门户所有参数可以使用默认设置,除了Current Organization必须填写,使用字符或者下划线设定组织名称。它关系着信任链条上所有数字证书发放,无法修改,请谨慎设置。
安装完成后,启动模块
$cd /opt/taiyi/portal
$./portal start
接入网关 Gateway
接入网关所有参数可以使用默认设置,只有两组参数需要注意
- Listen IP是监听地址,默认为空,使用localhost启动通信服务。如果存在多个网卡,则需要使用"a.b.c.d"的IPv4格式指定所在网卡。
- 当网关需要对外部应用提供API服务时,需要提供对外地址进行通讯时,则设置Published Address,格式为"公网地址:公网API端口"
安装完成后,启动模块
$cd /opt/taiyi/gateway
$./gateway start
附录:配置参数清单
以下是Installer各模块部署设置的完整参数清单
All In One
输入项 | 默认值 | 说明 |
---|---|---|
Project Install Path | /opt/taiyi | 整个项目的部署路径 |
Portal Install Path | /opt/taiyi/portal | 管理门户的部署路径 |
Chain Name | taiyi | 创建的链名称 |
Current Organization | 无 | 当前组织标识 |
Portal ID | portal | 门户模块标识 |
Portal Web Port | 8090 | 门户模块Web端口 |
Portal Service Port | 54500 | 门户模块通讯端口 |
Portal Web Root Path | web_root | 门户模块页面存储路径 |
Portal Enable CORS | false | 门户模块是否允许跨域请求 |
Node Install Path | /opt/taiyi/node_xx | 存储模块部署路径 |
Node ID | node_xx | 存储模块初始标识 |
Node Service Port | 54300~ | 存储模块通讯端口 |
Gateway Install Path | /opt/taiyi/gateway | 网关模块部署路径 |
Gateway ID | gateway_xx | 网关模块初始标识 |
Gateway Service Port | 54400 | 网关模块通讯端口 |
Gateway API Port | 9100 | 网关模块API端口 |
Gateway Enable CORS | false | 网关模块是否允许跨域请求 |
存储节点 Node
输入项 | 默认值 | 说明 |
---|---|---|
Project Install Path | /opt/taiyi | 整个项目的部署路径 |
Node ID | node_xx | 存储模块初始标识 |
Listen IP | 存储模块监听地址,可为空 | |
Service Port | 54300 | 存储模块通讯端口 |
Published Address | 外部访问地址,格式为"地址:端口" |
管理门户 Portal
输入项 | 默认值 | 说明 |
---|---|---|
Project Install Path | /opt/taiyi | 整个项目的部署路径 |
Chain Name | taiyi | 创建的链名称 |
Current Organization | 无 | 当前组织标识 |
Portal ID | portal | 门户模块标识 |
Web Listen Port | 8090 | 门户模块Web端口 |
Peer Listen Port | 54500 | 门户模块通讯端口 |
Web Root Path | web_root | 门户模块页面存储路径 |
Enable CORS | false | 门户模块是否允许跨域请求 |
接入网关 Gateway
输入项 | 默认值 | 说明 |
---|---|---|
Project Install Path | /opt/taiyi | 整个项目的部署路径 |
Gateway ID | gateway_xxx | 网关模块临时标识 |
Listen IP | 网关模块监听地址,可为空 | |
Service Port | 54400 | 网关模块通讯端口 |
Published Address | 外部访问API地址,格式为"地址:端口" | |
API Port | 9100 | 网关模块API端口 |
Enable CORS | false | 网关模块是否允许跨域请求 |