发布者: 币学院 发表于: 2017-7-4 16:40 原作者: 张海宁、陈家豪来自: 亨利笔记
1. 概述
本文将介绍如何使用 Docker
容器技术来建立起一个多节点Fabric
集群,并且描述在集群上如何进行基本的操作,如chaincode
的生命周期维护等。文中采用Fabric
1.0的端到端(e2e_cli)示例作为基础来说明原理。本文提供是手动配置的方法,后续将介绍利用容器平台(如
K8s 等)自动部署超级账本的方式。
![单节点下的Fabric网络结构图](/2017/11/06/Fabric-Multiple-Nodes/4peer1orderLocal.jpg)
Fabric 源码中包含一个简单的e2e单机部署示例,方便用户理解、研究和开发应用。如图1.1所示,在单个机器节点上通过 docker-compose 建立了5个节点的Fabric网络,每个节点都是由单独的 Docker 容器来模拟。其中 peer0 和 peer1 是同属于 org1 的节点,peer2 和 peer3 是同属于 org2 的节点,它们都加入了相同的 channel 中,并在该 channel 中进行交易,而 orderer 则为该 channel 中的交易提供排序服务。
![多节点下的Fabric网络结构图](/2017/11/06/Fabric-Multiple-Nodes/4peer1order.jpg)
虽然e2e_cli的示例比较简单,但它把多个节点混合部署在一起,无法区分哪些配置对应哪个节点。另外,在实际场景中,Fabric 节点可能会由不同的组织分别拥有和维护,peers 和 orderer 必然会分布在不同的物理节点上,因此多节点的Fabric 部署成为需要解决的问题
2. 单机运行Hyperledger Fabric实例
需要安装Go,并下载Fabric源码 1
2
3
4sudo apt-get install golang
mkdir gocode/src/github.com/hyperledger/
cd gocode/src/github.com/hyperledger/
git clone https://github.com/hyperledger/fabric.git1
2vi ~/.profile
export GOPATH=$HOME/gocodegocode/src/github.com/hyperledger/fabric
下执行
1
make docker
1
2
3
4
5
6
7
8
9git branch --all
git fetch
make clean
make dist-clean
make configtxgen
make docker
make peer-docker
make orderer-docker
make couchdbmake docker
运行错误,重新输入make docker
运行