天天看点

HyperLedger Fabric 1.4 基础环境搭建+运行e2e实例

Fabric节点通过docker容器来运行,启动fabric网络中的节点需要安装docker、docker-compose、go语言环境。

Docker在服务器上运行,内核版本不能低于3.10

宿主机:win10

VMware-workstation-full-14.1.3-9474260

虚拟机:CentOS-7-x86_64-Everything-1810

注:有些目录不存在,需要自行创建

1 安装docker

a 设置仓库(yum-utils提供yum-config-manager工具,设备映射存储驱动需要device-mapper-persistent-data和lvm2工具,是设备/存储驱动所需的基础应用)

yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
           

b 设置稳定储存库:

yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
           

c 启动edge和测试存储库(可选)

yum-config-manager --enable docker-ce-edge
yum-config-manager --enable docker-ce-test
           

d 安装docker ce

在线安装:

yum install docker-ce
           

安装指定版本:

yum installdocker-ce-<version string>
           

离线安装:

mkdir -p /tmp/docker/docker
yum install docker-ce-17.06.0.ce-1.el7.centos.x86_64.rpm
           

查询docker版本号:

docker -v
           

2 安装docker-compose

a 在线安装 //安装docker-compose需要服务器支持curl命令

yum install curl

curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
           

b 离线安装:

下载docker-compose,上传到/tmp/docker/docker-compose

将docker-compose移动到/usr/local/bin/目录下:

cd /tmp/docker/docker-compose
mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
           

c 赋予可执行权限

chmod +x /usr/local/bin/docker-compose
           

查看docker-compose版本

docker-compose -version
           

3 安装go语言环境

在线安装:

cd /opt
mkdir golang
cd golang
yum install wget
wget https://studygolang.com/dl/golang/go1.10.3.linux-amd64.tar.gz
tar -zxvf go1.10.3.linux-amd64.tar.gz
           

配置环境变量:

vi /etc/profile
           

添加如下内容到/etc/profile后面

export GOPATH=/opt/gopath
export GOROOT=/opt/golang/go
export PATH=$GOROOT/bin:$PATH
           
source /etc/profile
           

查看go版本

go version
           

4 fabric安装配置

离线安装:

网址:https://github.com/hyperledger/fabric/

拷贝到 /tmp/docker-images/目录下

然后执行:

docker镜像导入

docker load < /tmp/docker-images/fabric-tools-1.4.1.tar
docker load < /tmp/docker-images/fabric-ccenv-1.4.1.tar
docker load < /tmp/docker-images/fabric-orderer-1.4.1.tar
docker load < /tmp/docker-images/fabric-peer-1.4.1.tar
docker load < /tmp/docker-images/fabric-ca-1.4.1.tar
docker load < /tmp/docker-images/fabric-zookeeper-0.4.15.tar
docker load < /tmp/docker-images/fabric-kafka-0.4.15.tar
docker load < /tmp/docker-images/fabric-couchdb-0.4.15.tar
docker load < /tmp/docker-images/fabric-baseos-0.4.15.ta
           

给docker镜像做标签

docker tag 432c24764fbb docker.io/hyperledger/fabric-tools:latest
docker tag d7433c4b2a1c docker.io/hyperledger/fabric-ccenv:latest
docker tag ec4ca236d3d4 docker.io/hyperledger/fabric-orderer:latest
docker tag a1e3874f338b docker.io/hyperledger/fabric-peer:latest
docker tag 3a1799cda5d7 docker.io/hyperledger/fabric-ca:latest
docker tag 20c6045930c8 docker.io/hyperledger/fabric-zookeeper:latest
docker tag b4ab82bbaf2f docker.io/hyperledger/fabric-kafka:latest
docker tag 8de128a55539 docker.io/hyperledger/fabric-couchdb:latest
docker tag 9d6ec11c60ff docker.io/hyperledger/fabric-baseos:latest
           

----------------------------------------运行e2e实例-------------------------------------------

将hyperledger-fabric-linux-amd64-1.4.1.tar.gz下载并解压到

$GOPATH/src/github.com/hyperledger/fabric/release/linux-amd64/bin
           

并给linux-amd64目录赋予执行权限( 不赋权限可能会报错)

chmod -R 777 linux-amd64/
           

由于Fabric 1.4开始删除了End-2-End案例,需要手动拷贝e2e_cli目录到$GOPATH/src/github.com/hyperledger/fabric/examples目录下

将e2e_cli目录修改为可执行文件

chmod -R 777 $GOPATH/src/github.com/hyperledger/fabric/examples/e2e_cli
           

运行e2e实例

docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
cd $GOPATH/src/github.com/hyperledger/fabric/examples/e2e_cli
./network_setup.sh up
           

继续阅读