Hyperledger Fabric1.4 Solo模式下的多机部署

Hyperledger Fabric1.4 Solo模式下的多机部署

之前写了手动部署Fabric中的first-network网络。但是Fabric网络都是运行在多台机器上的。本文将会详细说明Fabric如何完成solo模式下的多机部署。在看这篇文章之前建议读者自己动手运行过first-network网络,并且默认读者熟悉Linux基本的命令。然后大致看过整篇文章后,再按照此篇文章搭建。

参考:

  • https://blog.csdn.net/qq_36793353/article/details/78922369
  • https://www.cnblogs.com/cbkj-xd/p/11067814.html

1. Solo模式与Kafka模式区别

  • Solo模式是指单节点通信模式,该环境中只有一个排序(orderer)服务,从节点(peer)发送来的消息由一个orderer进行排序和产生区块;由于排序(orderer)服务只有一个orderer为所有节点(peer)服务,没有高可用性和可扩展性,不适合用于生产环境,可以用于开发和测试环境。
  • Kafka模式是半中心化结构,在Kafka模式中排序服务是通过集群来实现的。通俗的来说就是Solo模式中排序节点(orderer)是由一台机器组成。而Kafak模式中排序节点(orderer)是由多台电脑组成。而Kafak模式下还使用到了zookeeper。这里不在深入介绍,想深入了解的朋友可通过百度或Google找到。
  • :目前Fabric中还支持Raft共识下实现排序服务,并且比Kafka模式更好,所以如果需要搭建orderer集群的话,我会倾向于搭建Raft模式集群。

2. 搭建配置

系统:ubuntu 18.04、Fabric版本:v1.4.0。

本次Solo模式的搭建共用到了5台虚拟机,都是由最初的一台虚拟机复制来的 。这5台电脑域名和担任的角色如下所示:

域名 角色 ip地址
orderer.example.com orderer 10.xx.xx.201
peer0.org1.example.com Org1 10.xx.xx.202
peer1.org1.example.com Org1 10.xx.xx.203
peer0.org2.example.com Org2 10.xx.xx.204
peer1.org2.example.com Org2 10.xx.xx.205

3. 搭建过程

3.1 配置文件的修改
3.1.1 创建first-cluster文件,并生成证书
# 当前目录位置为 fabric-samples
# 复制first-network目录,并改名为first-cluster
cp -r first-network first-cluster

# 进入 first-cluster
cd first-cluster

# 删除不必要的文件,最后firstcluster目录中的文件为
├── base
│   ├── docker-compose-base.yaml
│   └── peer-base.yaml
├── channel-artifacts
├── configtx.yaml
├── crypto-config.yaml
├── docker-compose-cli.yaml
├── docker-compose-couch.yaml

生成公私钥和MSP证书

# 当前目录位置为first-cluster
#step1 生成证书文件
 ../bin/cryptogen generate --config=./crypto-config.yaml
#step2 生成创世区块  
../bin/configtxgen -profile TwoOrgsOrdererGenesis -channelID byfn-sys-channel -outputBlock ./channel-artifacts/genesis.block
#step3 生成通道配置文件  其中通道名mychannel可以修改为自己的
../bin/configtxgen -profile TwoOrgsChannel -outputCreateChannelTx ./channel-artifacts/channel.tx -channelID mychannel
#step4 生成锚节点配置文件
#========Org1=============
../bin/configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org1MSPanchors.tx -channelID mychannel -asOrg Org1MSP
##========Org2=============
../bin/configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org2MSPanchors.tx -channelID mychannel -asOrg Org2MSP

修改base/docker-compose-base.yaml文件

将所有peer节点的端口映射都改为相同的,之前不同是因为所有的peer节点都在一台电脑运行,而现在分别在多台电脑运行的话,我们就可以改为相同的。

所有peer节点端口映射,如图:

image-20200710093451937

3.1.2 创建和修改order节点的配置文件
# 当前目录位置为first-cluster
# 复制docker-compose-cli.yaml 并重命名为docker-compose-orderer.yaml
cp docker-compose-cli.yaml docker-compose-orderer.yaml

# 用vim打开docker-compose-orderer.yaml
vim docker-compose-orderer.yaml

docker-compose-orderer.yaml文件中与orderer节点无关的内容都删除,最后留下的内容为:

image-20200710100721195

3.1.3
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值