1.环境准备
系统
[root@build e2e_cli]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
机器
IP | domain | hostname |
---|---|---|
192.168.1.110 | orderer.example.com | fabricorderer |
192.168.1.109 | peer0.org1.example.com | fabric-CA |
192.168.1.105 | peer0.org2.example.com | build |
192.168.1.106 | peer1.org1.example.com | k8s03 |
192.168.1.111 | peer1.org2.example.com | k8s02 |
安装golang docker docker-compose 等等环境在这里就不在详细说了
yum install go docker python-pip
pip install --upgrade pip
pip install docker-compose
[root@build e2e_cli]# go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/root/gopath"
GORACE=""
GOROOT="/usr/lib/golang"
GOTOOLDIR="/usr/lib/golang/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build584348799=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
PKG_CONFIG="pkg-config"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
获取代码及切换分支
mkdir -p /opt/gopath/src/github.com/hyperledger/ && cd /opt/gopath/src/github.com/hyperledger
git clone https://github.com/hyperledger/fabric.git
git checkout v1.0.0-beta
[root@build e2e_cli]# git status
# 头指针分离于 v1.0.0-beta
下载镜像
[root@build e2e_cli]# pwd
/root/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli
[root@build e2e_cli]# ls -l
总用量 84
drwxr-xr-x 2 root root 60 4月 5 18:38 base
drwxr-xr-x 2 root root 111 4月 5 19:31 channel-artifacts
-rw-r--r-- 1 root root 5013 4月 5 18:41 configtx.yaml
drwxr-xr-x 4 root root 59 4月 5 19:31 crypto-config
-rw-r--r-- 1 root root 3858 4月 5 18:41 crypto-config.yaml
-rw-r--r-- 1 root root 1930 4月 5 19:09 docker-compose-cli.yaml
-rw-r--r-- 1 root root 2005 4月 5 18:41 docker-compose-couch.yaml
-rw-r--r-- 1 root root 2517 4月 5 18:41 docker-compose-e2e-template.yaml
-rw-r--r-- 1 root root 2517 4月 5 18:41 docker-compose-e2e.yaml
-rw-r--r-- 1 root root 2119 4月 5 18:41 download-dockerimages.sh
-rw-r--r-- 1 root root 41280 4月 5 18:41 end-to-end.rst
drwxr-xr-x 3 root root 23 4月 5 18:41 examples
-rwxr-xr-x 1 root root 3588 4月 5 18:41 generateArtifacts.sh
-rwxr-xr-x 1 root root 2504 4月 5 18:41 network_setup.sh
drwxr-xr-x 5 root root 83 4月 5 19:57 peer
drwxr-xr-x 2 root root 23 4月 5 18:41 scripts
[root@build e2e_cli]# bash download-dockerimages.sh
[root@build e2e_cli]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/hyperledger/fabric-tools x86_64-1.0.0-beta ae6b0f53cb70 10 months ago 1.32 GB
hyperledger/fabric-tools latest ae6b0f53cb70 10 months ago 1.32 GB
docker.io/hyperledger/fabric-couchdb x86_64-1.0.0-beta 31bbbec3d853 10 months ago 1.48 GB
hyperledger/fabric-couchdb latest 31bbbec3d853 10 months ago 1.48 GB
docker.io/hyperledger/fabric-kafka x86_64-1.0.0-beta c4ac1c9a4797 10 months ago 1.3 GB
hyperledger/fabric-kafka latest c4ac1c9a4797 10 months ago 1.3 GB
docker.io/hyperledger/fabric-zookeeper x86_64-1.0.0-beta 2c4ebacb6f00 10 months ago 1.31 GB
hyperledger/fabric-zookeeper latest 2c4ebacb6f00 10 months ago 1.31 GB
docker.io/hyperledger/fabric-orderer x86_64-1.0.0-beta 11ff350dd297 10 months ago 179 MB
hyperledger/fabric-orderer latest 11ff350dd297 10 months ago 179 MB
docker.io/hyperledger/fabric-peer x86_64-1.0.0-beta e01c2b645f11 10 months ago 182 MB
hyperledger/fabric-peer latest e01c2b645f11 10 months ago 182 MB
docker.io/hyperledger/fabric-javaenv x86_64-1.0.0-beta 61c188dca542 10 months ago 1.42 GB
hyperledger/fabric-javaenv latest 61c188dca542 10 months ago 1.42 GB
docker.io/hyperledger/fabric-ccenv x86_64-1.0.0-beta 7034cca1918d 10 months ago 1.29 GB
hyperledger/fabric-ccenv latest 7034cca1918d 10 months ago 1.29 GB
hyperledger/fabric-ca latest e549e8c53c2e 10 months ago 238 MB
docker.io/hyperledger/fabric-ca x86_64-1.0.0-beta e549e8c53c2e 10 months ago 238 MB
docker.io/hyperledger/fabric-baseos x86_64-0.3.1 4b0cab202084 11 months ago 157 MB
保存镜像
docker save $(docker images | grep beta | awk {'print $1'} ) -o images
保存完镜像就可以通过scp命令到其他你所需要的节点上
orderer节点要有的镜像
hyperledger/fabric-orderer latest 11ff350dd297 10 months ago 179 MB
peer节点要有的镜像
hyperledger/fabric-tools latest ae6b0f53cb70 10 months ago 1.32 GB
hyperledger/fabric-peer latest e01c2b645f11 10 months ago 182 MB
另外各个节点上需要修改hosts
[root@peer0.org1.example.com e2e_cli]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.110 orderer.example.com
root@build e2e_cli]# cat /etc/hosts
hosts hosts.allow hosts.deny
[root@peer1.org1.example.com e2e_cli]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.110 orderer.example.com
192.168.1.109 peer0.org1.example.com
[root@k8s03 e2e_cli]# cat /etc/hosts
hosts hosts.allow hosts.deny
[root@peer0.org2.example.com e2e_cli]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.110 orderer.example.com
[root@peer1.org2.example.com e2e_cli]# cat /etc/hosts
192.168.1.110 orderer.example.com
192.168.1.105 peer0.org2.example.com
生成证书
[root@build e2e_cli]# pwd
/root/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli
[root@build e2e_cli]#./generateArtifacts.sh
...
2018-04-05 19:29:35.807 CST [common/configtx/tool] doOutputAnchorPeersUpdate -> INFO 002 Generating anchor peer update
2018-04-05 19:29:35.807 CST [common/configtx/tool] doOutputAnchorPeersUpdate -> INFO 003 Writing anchor peer update
[root@build e2e_cli]# ls -l channel-artifacts/
总用量 20
-rw-r--r-- 1 root root 461 4月 5 19:31 channel.tx
-rw-r--r-- 1 root root 6644 4月 5 19:31 genesis.block
-rw-r--r-- 1 root root 250 4月 5 19:31 Org1MSPanchors.tx
-rw-r--r-- 1 root root 250 4月 5 19:31 Org2MSPanchors.tx
[root@build e2e_cli]# ls -l crypto-config
总用量 0
drwxr-xr-x 3 root root 25 4月 5 19:31 ordererOrganizations
drwxr-xr-x 4 root root 54 4月 5 19:31 peerOrganizations
[root@build e2e_cli]#
然后把整个代码复制到所有的节点
这一节主要是环境的准备,下一节将会讲到具体的修改的内容