docker多机离线部署BCOS+WeBASE-Front

环境:Ubuntu18.04

离线,有线环境都需要docker,请先安装好docker
参考连接:Docker离线安装
部署的时候是离线的,因为是多机,后面使用或验证的时候需要有线
彻底离线只能单机部署

准备工作

1.提前下载build_chain.sh
下载地址:https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.11.0/build_chain.sh
2.提前下载fiscobcos的镜像
例:

docker pull fiscoorg/fiscobcos:v2.11.0

版本要选择build_chain里用到的版本

使用 docker save 命令将镜像保存为 .tar 文件,以便在离线环境中导入:

docker save -o /你的保存路径/fiscobcos.tar fiscoorg/fiscobcos:v2.11.0

3.提前下载Webase-Front的镜像

docker pull webasepro/webase-front:latest

后面部分操作与BCOS类似

BCOS

离线加载镜像

创建操作路径~/fisco

mkdir -p ~/fisco && cd ~/fisco

将提前下载好的build_chain保存到fisco目录下(或你的指定位置)
在该目录下执行:

chmod u+x build_chain.sh

在离线环境中使用 docker load 命令导入之前保存的 Docker 镜像:

docker load -i /镜像所在路径/fiscobcos.tar

执行此命令后,可以使用以下命令检查镜像是否已成功加载:

docker images

建链

这里所有区块链节点均属于agencyA,并仅启动了群组1
(注: 下面的ip信息需要根据真实的机器IP填写)

cat >> ipconf << EOF
196.168.0.1 agencyA 1
196.168.0.3 agencyA 1
196.168.0.4 agencyA 1
196.168.0.2 agencyA 1
EOF

建链脚本build_chain.sh脚本提供- d参数,支持使用docker方式部署区块链。

bash build_chain.sh -d -f ipconf -p 30300,20200,8545

至此,成功生成了多机4节点配置,每台机器的区块链节点配置均位于nodes文件夹下,如下:

$ ls nodes/
196.168.0.1 196.168.0.2 196.168.0.3 196.168.0.4 cert

生成区块链节点配置后,需要将每个节点配置拷贝到对应机器上,可通过scp命令执行拷贝,具体如下:
(注: 这里使用fisco用户进行操作; 实际操作时,可使用自己的账户进行类似操作, IP也需要替换成自己的机器IP)

ssh fisco@196.168.0.1 "mkdir -p ~/fisco"
ssh fisco@196.168.0.2 "mkdir -p ~/fisco"
ssh fisco@196.168.0.3 "mkdir -p ~/fisco"
ssh fisco@196.168.0.4 "mkdir -p ~/fisco"

拷贝节点配置

拷贝节点配置到196.168.0.1的~/fisco路径
scp -r nodes/196.168.0.1/ fisco@196.168.0.1:~/fisco/196.168.0.1
拷贝节点配置到196.168.0.2的~/fisco路径
scp -r nodes/196.168.0.2/ fisco@196.168.0.2:~/fisco/196.168.0.2
拷贝节点配置到196.168.0.3的~/fisco路径
scp -r nodes/196.168.0.3/ fisco@196.168.0.3:~/fisco/196.168.0.3
拷贝节点配置到196.168.0.4的~/fisco路径
scp -r nodes/196.168.0.4/ fisco@196.168.0.4:~/fisco/196.168.0.4

启动区块链

区块链节点配置拷贝成功后,需要启动所有节点,可通过某台机器发起ssh操作远程启动区块链节点,也可登录上所有物理机后,在对应的物理机上启动区块链节点。

bash nodes/你的ip/start_all.sh

如果有docker容器,则表示运行成功

检查区块链节点

登录每台机器,执行如下命令判断进程是否启动成功:

ps aux | grep fisco | grep -v grep

正常情况,每台机器都会有类似下面的输出;

fisco     29306  0.8  0.1 747008 31488 ?        Sl   17:08   0:05 /home/ubuntu/fisco/196.168.0.1/node0/../fisco-bcos -c config.ini

若某些机器没有类似以上的输出,请检查机器的30300, 20200, 8545端口是否被占用。

登录每台机器,执行如下命令判断节点网络连接是否正常:

tail -f ~/fisco/*/node0/log/* |grep -i connected

正常情况会不停地输出连接信息,从输出可以看出该节点与其他机器节点连接正常。

info|2019-01-21 17:30:58.316769| [P2P][Service] heartBeat,connected count=3
info|2019-01-21 17:31:08.316922| [P2P][Service] heartBeat,connected count=3
info|2019-01-21 17:31:18.317105| [P2P][Service] heartBeat,connected count=3

检查区块链共识是否正常

登录每台机器,进入操作目录,执行如下命令判断节点共识是否正常:

tail -f ~/fisco/*/node0/log/* |grep -i +++

正常情况会不停输出带有++++Generating seal的日志,即表示共识正常。

info|2020-12-22 17:24:43.729402|[g:1][CONSENSUS][SEALER]++++++++++++++++ Generating seal on,blkNum=1,tx=0,nodeIdx=1,hash=2e133146...
info|2020-12-22 17:24:47.740603|[g:1][CONSENSUS][SEALER]++++++++++++++++ Generating seal on,blkNum=1,tx=0,nodeIdx=1,hash=eb199760...

若以上检查均正常,说明多机4节点区块链系统部署成功

WeBASE-Front

加载docker镜像

docker load -i /镜像所在路径/webase-front.tar

2.启动WeBASE-Front

WeBASE-Front服务通过sdk与节点建立链接,所以在运行webasepro/webase-front容器时需要对sdk文件进行挂载

docker run -d --net=host --name webase-front -v /root/fisco/nodes/你的ip/sdk:/dist/sdk webasepro/webase-front:latest

启动成功后可访问控制台

http://{deployIP}:{frontPort}/WeBASE-Front
示例:http://localhost:5002/WeBASE-Front
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值