由於老闆突然給我一個IBM的區塊鏈課程網站,讓我自學完IBM提供的區塊鏈的兩節課程,並完成fabric架構下的compose-playground這個區塊鏈組件的單機搭建。這個單機搭建比較簡單,IBM的課程有課後的這個組件相關的練習與文檔,所以花了2天左右就完成了。然後老闆就讓我再次搭建多機叢集的fabric,於是又折騰了半個月左右才完工。
本文主要記錄下搭建多機的具體過程、問題與細節。主要參考的部落格有http://www.cnblogs.com/studyzy/p/7237287.html;https://www.ibm.com/developerworks/cn/cloud/library/cl-lo-hyperledger-fabric-study-notes1/index.html等;
系統版本:Ubuntu16.04
先決準備:首先要測試系統是否ping www.baidu.com來測試是否網路正常,還要測試是否有安裝git, curl等必備軟體。並清理乾淨系統存在的docker等。
一、下載安裝go語言
1、下載地址: wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz
解壓到指定路徑下 tar -C /usr/local -xzf go1.8.3.linux-amd64.tar.gz
2、添加go環境變數
vi ~/.profile (如果root帳號在/etc/profile添加go環境變數會報找不到檔案之類的錯誤,錯誤後面會具體列出。所以該部分要設定正確。)
添加以下內容:
export PATH=$PATH:/usr/local/go/bin
export GOROOT=/usr/local/go
export GOPATH=/opt/gopath
export PATH=$PATH:/opt/gopath/bin
3、編輯儲存並退出vi後,使這些環境變數生效
source ~/.profile
4、把go的目錄GOPATH設定為/opt/gopath,所以記得建立gopath檔案夾
mkdir -p /opt/gopath
5、檢驗go是否安裝成功
go version
二、docker 安裝
1、先卸載清理乾淨存在的舊版本docker
apt-get remove docker docker-engine docker-ce docker.io
2、安裝docker
apt-get update && sudo apt-get install docker.io
3、啟動docker服務
service docker start
4、檢驗docker是否安裝成功
dokcer version
三、docker-compose 安裝
方法一:用pip安裝docker-compose
1、apt-get install python-pip(或者python3-pip)
2、pip/pip3 install docker-compose
3、賦予許可權
chmod +x /usr/bin/docker-compose( 這裡有的是sudo chmod +x /usr/local/bin/docker-compose, 這 個主要看docker-compose檔案的位置)
4、檢驗是否安裝成功
docker-compose version
方法二:也可以從國內的進行DaoClound下載,為了速度快接下來從DaoClound安裝Docker-compose,運行指令碼:
1、curl -L https://get.daocloud.io/docker/compose/releases/download/1.21.2/docker-compose-`uname -s`-`uname -m` > /usr/bin/docker-compose
2、 chmod +x /usr/bin/docker-compose
3、docker-compose version
四、下載fabricb源碼並單機測試e2e網路例子
1、下載fabric源碼
mkdir -p /opt/gopath/src/github.com/hyperledger
cd/opt/gopath/src/github.com/hyperledger
git clone https://github.com/hyperledger/fabric.git
2、cd/opt/gopath/src/github.com/hyperledger/fabric
git checkout v1.0.0
3、cd/opt/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli
docker加速器配置:
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://8ad7943c.m.daocloud.io
docker 鏡像下載:
source download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0 (fabric切換版本要與鏡像版本一致)
下載結果:
修改/opt/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli/base目錄下的peer-base.yaml
將網路名稱改成如下名稱:- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=e2e_cli_default
運行network_setup.sh
運行結果:
單機測試成功。
下篇開始多機部署。