2019-04-06 Fabric 1.0部署 (CentOS 内核3.10)
1.环境的安装过程
1. golang 安装
1. 安装 wget
yum install wget
2. 获取 golang 安装包
wget https://storage.googleapis.com/golang/go1.10.3.linux-amd64.tar.gz
3. 解压安装
tar -C /usr/local -zxvf go1.10.3.linux-amd64.tar.gz
4. 配置环境变量
vim /etc/profile
#在文件的末尾添加如下信息:
export GOROOT=/usr/local/go
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
5.查看是否安装成功
go version
#例:
[root@localhost e2e_cli]# go version
go version go1.10.3 linux/amd64
2. 安装git
1.安装git
yum install git #安装git
2.查看git版本
git version
#例:
[root@localhost e2e_cli]# git version
git version 1.8.3.1
3. 安装gcc
1.安装gcc
yum install gcc
4. 安装docker
1. 安装docker
yum install docker
2.启动docker
systemctl start docker
3.查看docker版本
docker version
#例:
Client:
Version: 1.13.1
API version: 1.26
Package version: docker-1.13.1-94.gitb2f74b2.el7.centos.x86_64
Go version: go1.10.3
Git commit: b2f74b2/1.13.1
Built: Tue Mar 12 10:27:24 2019
OS/Arch: linux/amd64
Server:
Version: 1.13.1
API version: 1.26 (minimum version 1.12)
Package version: docker-1.13.1-94.gitb2f74b2.el7.centos.x86_64
Go version: go1.10.3
Git commit: b2f74b2/1.13.1
Built: Tue Mar 12 10:27:24 2019
OS/Arch: linux/amd64
Experimental: false
5.安装docker-compose
1.安装curl
yum install curl
2.安装docker-compose
curl -L https://get.daocloud.io/docker/compose/releases/download/1.13.0/docker-compose-`uname -s`-`uname -m` > ~/docker-compose
3. 配置docker-compose
sudo mv ~/docker-compose /usr/bin/docker-compose
chmod +x /usr/bin/docker-compose
4.检查对应的docker-compose版本
docker-compose version
#例:
[root@localhost ~]# docker-compose version
docker-compose version 1.13.0, build 1719ceb
docker-py version: 2.2.1
CPython version: 2.7.13
OpenSSL version: OpenSSL 1.0.1t 3 May 2016
2.代码获取以及测试
1. 获取fabric源码
1. 创建代码目录
mkdir -p ~/go/src/github.com/hyperledger
cd ~/go/src/github.com/hyperledger
2. 获取代码
git clone https://github.com/hyperledger/fabric.git
3. 切换分支
cd ~/go/src/github.com/hyperledger/fabric
git checkout v1.0.0
4. 查看切换的分支
git branch
2.设置docker镜像源
1.设置docker的下载加速
vim /etc/docker/daemon.json
#修改文件内容如下
{
"registry-mirrors": ["https://xx8jt8fx.mirror.aliyuncs.com"]
}
# https://lx8jt8fx.mirror.aliyuncs.com 这里用的是阿里云的docker镜像加速
2. 重启docker
systemctl restart docker
3. 测试基本环境
1.下载所需要的镜像
cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/
chmod +x download-dockerimages.sh
source download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0
# 注意这里不能直接使用 download-dockerimages.sh进行下载
# fabric v1.0.0的download-dockerimages.sh中 默认下载镜像标签为: 1.0.0-beta
2.启动测试环境
cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/
./network_setup.sh up
# 注意在重启或者终止测试环境时 一定要使用如下指令!
./network_setup.sh down
3.正常结果展示
===================== All GOOD, End-2-End execution completed =====================
_____ _ _ ____ _____ ____ _____
| ____| | \ | | | _ \ | ____| |___ \ | ____|
| _| | \| | | | | | _____ | _| __) | | _|
| |___ | |\ | | |_| | |_____| | |___ / __/ | |___
|_____| |_| \_| |____/ |_____| |_____| |_____|
3.运行时可能遇到的问题
1. attempting to fetch system channel ‘testchainid’ …59 secs
# 不同的docker-compose支持的docker版本是不一致的
docker -v
Docker version 1.13.1, build b2f74b2/1.13.1
docker-compose -v
docker-compose version 1.13.0, build 1719ceb
# docker-compose 1.13.0 最低支持的docker版本是 docker 1.13.0
2. ./scripts/script.sh: Permission denied
# e2e_cli 目录下的 /scripts/script.sh 权限不够 或者是 selinux 没有关闭的问题
chmod 777 ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli//scripts/script.sh
# selinux 临时关闭
setenforce 0
# selinux 永久关闭
vim /etc/sysconfig/selinux
SELINUX=enforcing 改为 SELINUX=disabled
3. 注意docker镜像和fabric的版本对应问题,不同的fabric对应的docker镜像的版本也是不同的
fabric 1.0对应的docker镜像如下:
docker.io/hyperledger/fabric-tools x86_64-1.0.0 0403fd1c72c7 21 months ago 1.32 GB
hyperledger/fabric-tools latest 0403fd1c72c7 21 months ago 1.32 GB
docker.io/hyperledger/fabric-couchdb x86_64-1.0.0 2fbdbf3ab945 21 months ago 1.48 GB
hyperledger/fabric-couchdb latest 2fbdbf3ab945 21 months ago 1.48 GB
docker.io/hyperledger/fabric-kafka x86_64-1.0.0 dbd3f94de4b5 21 months ago 1.3 GB
hyperledger/fabric-kafka latest dbd3f94de4b5 21 months ago 1.3 GB
docker.io/hyperledger/fabric-zookeeper x86_64-1.0.0 e545dbf1c6af 21 months ago 1.31 GB
hyperledger/fabric-zookeeper latest e545dbf1c6af 21 months ago 1.31 GB
hyperledger/fabric-orderer latest e317ca5638ba 21 months ago 179 MB
docker.io/hyperledger/fabric-orderer x86_64-1.0.0 e317ca5638ba 21 months ago 179 MB
docker.io/hyperledger/fabric-peer x86_64-1.0.0 6830dcd7b9b5 21 months ago 182 MB
hyperledger/fabric-peer latest 6830dcd7b9b5 21 months ago 182 MB
docker.io/hyperledger/fabric-javaenv x86_64-1.0.0 8948126f0935 21 months ago 1.42 GB
hyperledger/fabric-javaenv latest 8948126f0935 21 months ago 1.42 GB
docker.io/hyperledger/fabric-ccenv x86_64-1.0.0 7182c260a5ca 21 months ago 1.29 GB
hyperledger/fabric-ccenv latest 7182c260a5ca 21 months ago 1.29 GB
docker.io/hyperledger/fabric-ca x86_64-1.0.0 a15c59ecda5b 21 months ago 238 MB
hyperledger/fabric-ca latest a15c59ecda5b 21 months ago 238 MB
docker.io/hyperledger/fabric-baseos x86_64-0.3.1 4b0cab202084 23 months ago 157 MB
# fabric 1.1 之后用的docker镜像的tag 全部都是 :latest