目录
实际开发中,为了满足高可用性和高容错性的需求,往往会采用多级部署区块链的方式,今天介绍一下FISCO BCOS的多机部署流程。
一、准备环境
1.两台Ubuntu系统主机(虚拟机),网络通信正常
2.建链脚本(build_chain.sh),控制台(console)
3.建链前的基本环境
本机采用两台ubuntu(A、B),均为22.04版本,A机IP为:192.168.200.134,B机IP为:192.168.200.135,搭建一条双机,双机构,双群组,6节点
二、开始搭建
我们在主机A开始配置搭链
搭建方式采用ipconf文件指定搭建节点,群组,机构等信息,配置如下的ipconf文件
192.168.200.134:3 agencyA 1 30300,20200,8545
192.168.200.135:3 agencyB 2 30300,20200,8545
其中,ip地址后紧跟着的:3意思为,在指定的ip地址建立3个节点,要注意的是,两个主机的节点起始端口是可以相同的。
随后利用建链脚本开始建链
bash build_chain.sh -f ipconf
此时观察nodes目录,发现有了两个ip地址的目录,正好对应了我们的两台主机A和B,现在我们把主机A中,nodes下的192.168.200.135目录发送到主机B。
关于scp的相关配置可以看这篇文章:
scp -r nodes/192.168.200.135 192.168.200.135:/root/fisco/
现在在机器B就会发现自己ip地址的节点配置文件,我们可以按照以往方式启动节点
机器A:
bash nodes/192.168.200.134/start_all.sh
机器B:
bash 192.168.200.135/start_all.sh
命令中的地址需要根据自己的环境配置填写实际IP地址!提示节点成功。
三、检查节点
1.检查节点进程
启动节点后可以分别检查一下两个主机节点的进程信息,确保节点正常启动
ps -ef | grep -v grep | grep fisco
2.检查节点共识和连接
检查节点共识,同样两台主机都可以检查
A主机:
tail -f nodes/192.168.200.134/node0/log/* | grep ++++
B主机:
tail -f 192.168.200.135/node0/log/* | grep +++++
检查节点连接会发现,连接数为5,证明节点之间连接正常,多机部署不影响区块链节点共识和连接。
A主机:
tail -f nodes/192.168.200.134/node0/log/* | grep connected
B主机:
tail -f 192.168.200.135/node0/log/* | grep connected
四、配置控制台
接下来配置控制台的过程和之前的部署方式一样,可以参照我之前的博客配置搭建:【FISCO-BCOS】 二、配置控制台_奈何不吃鱼的博客-优快云博客
1.配置控制台证书
cp -r nodes/192.168.200.134/sdk/* console/conf/
2.拷贝控制台配置文件
cp -r console/conf/config-example.toml console/conf/config.toml
3.启动控制台
bash console/start.sh
启动控制台成功后,我们可以使用getPeers查看节点列表,发现输出信息与搭建的6个节点符合。
关于多机部署中遇到的更多问题,我会今后继续总结,欢迎大家一起讨论~