模块部署

完成模块与系统安装

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

存储节点大部分参数使用默认配置即可,只有两组参数需要注意

  1. Listen IP是监听地址,默认为空,使用localhost在Service Port上启动通信服务。如果存在多个网卡,则需要使用"a.b.c.d"的IPv4格式指定所在网卡。
  2. 当其他存储节点与本节点不在同一个网络,需要提供对外地址进行通讯时,则设置Published Address,格式为"公网地址:公网端口"

安装完成后,启动模块

$cd /opt/taiyi/node
$./node start

管理门户 Portal

管理门户所有参数可以使用默认设置,除了Current Organization必须填写,使用字符或者下划线设定组织名称。它关系着信任链条上所有数字证书发放,无法修改,请谨慎设置。

安装完成后,启动模块

$cd /opt/taiyi/portal
$./portal start

接入网关 Gateway

接入网关所有参数可以使用默认设置,只有两组参数需要注意

  1. Listen IP是监听地址,默认为空,使用localhost启动通信服务。如果存在多个网卡,则需要使用"a.b.c.d"的IPv4格式指定所在网卡。
  2. 当网关需要对外部应用提供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 网关模块是否允许跨域请求