(一)fabric環境配置及問題解決


Tips:配置過程出現的各種問題及解決方案跟在相應步驟的后面。

1. 安裝相關依賴

1. 更換鏡像源

  • 官方鏡像下東西特別卡,我們把鏡像換成國內的。這個比較簡單,參考ubuntu更改鏡像源(軟件源),換完以后執行sudo apt upgrade sudo apt update更新一下。

2. 安裝git

  • 安裝命令:sudo apt install git

3. 安裝curl

  • 一般用安裝命令:sudo apt install curl下不到我們要的curl,直接手動安裝openssl和curl(安裝順序不能反,先openssl再curl,否則curl依然不支持https)步驟如下:
  • 安裝openssl
wget https://www.openssl.org/source/old/1.1.0/openssl-1.1.0f.tar.gz   //下載安裝包
tar -zxvf openssl-1.1.of.tar.gz
cd openssl 
./config enable-shared
make
make install
openssl verison       //出現版本號即成功
  • 安裝curl
wget https://curl.haxx.se/download/curl-7.54.1.tar.gz
tar -zxvf curl-7.54.1.tar.gz
cd curl-7.54.1
./configure --with-ssl=/usr/local/ssl
make
make install
curl -V   //出現版本號並且protocols支持https說明配置curl成功

  • 問題1:出現curl: symbol lookup error: curl: undefined symbol: curl_mime_free錯誤提示
  • 問題1解決方案:sudo apt-get install libcurl3,下載成功就好了。下載過程中如果提示包依賴沖突,用sudo aptitude install libcurl3替代,選擇第二個降級方案(沒有aptitude就下一個,同樣的道理)。再不行就把所有的庫依賴升級試試看sudo apt-get upgrade

4. 安裝docker、docker-compose及鏡像加速器

  • 使用apt-get下載的docker版本很低,所以我們還是手動安裝:
wget -qO- https://get.docker.com/ | sh   //獲取最新docker安裝包
docker --version   //查看版本號
sudo usermod -aG docker 用戶名   //加入docker用戶組
sudo service docker start    //啟動docker后台服務
sudo aptitude install docker-compose  //用aptitiude下載避免依賴沖突
docker-compose--version   //查看版本號
sudo chmod +x /usr/share/doc/docker-compose  //為其它用戶開放權限

下完docker趁着它還熱乎,我們配下鏡像加速器,為拉取鏡像文件做准備(否則進度條會龜速前進):

vim /etc/docker/daemon.json
把原來內容都刪掉,換成
{ "registry-mirrors": ["https://alzgoonw.mirror.aliyuncs.com"] }
//保存退出,重啟服務
systemctl daemon-reload
systemctl restart docker

還有一種加速方案,也可行,二選一吧Ubuntu解決Docker下載太慢解決方法

  • 問題1:docker安裝成功,啟動失敗,報了一大串錯誤
joinApp2 systemd[1]: start request repeated too quickly for docker.service
joinApp2 systemd[1]: Failed to start Docker Application Container Engine.
joinApp2 systemd[1]: Unit docker.service entered failed state.
joinApp2 systemd[1]: docker.service failed.
  • 問題1解決方案:這種情況一般是daemon.json的格式問題,把它改好。
vim /etc/docker/daemon.json 
把原來內容刪掉,換成
{ "graph": "/mnt/docker-data", "storage-driver": "overlay" }
或者直接換成加速的
{ "registry-mirrors": ["https://alzgoonw.mirror.aliyuncs.com"] }
//保存退出,重啟服務
systemctl daemon-reload
systemctl restart docker

5. 安裝golang

手動安裝並配置環境變量:

  • wget https://dl.google.com/go/go1.11.11.linux-amd64.tar.gz
  • sudo tar -zxvf go1.11.11.linux-amd64.tar.gz -C /usr/local/
  • sudo gedit /etc/profile在profile文件最后添加
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
source /etc/profile
  • go version //檢查版本號

2. 拉取fabric源碼

//創建並進入目錄
mkdir -p ~/go/src/github.com/hyperledger 
cd ~/go/src/github.com/hyperledger 
//拉取 fabric 源碼:
git clone https://github.com/hyperledger/fabric.git 
//查看並切換當前分支
cd ./fabric
git branch -a  
git checkout vx.x.x  //x.x.x為最新分支  
  • 問題1:git clone 出現fatal: unable to access 'https://github
  • 問題1解決方案:把https改成git后再試一下

3. 拉取鏡像文件等

cd ~/go/src/github.com/hyperledger/fabric
mv scripts/bootstrap.sh  . //把scripts下bootstrap.sh腳本文件復制到同級目錄下
./bootstrap.sh   //運行腳本,腳本第二步是拉取docker鏡像
  • 問題1:Docker獲取鏡像報錯 docker: Error response from daemon
  • 問題1解決方案:
dig @114.114.114.114 registry-1.docker.io  //找到可用IP

//修改/etc/hosts中docker.io的可用ip
34.197.189.129 registry-1.docker.io
//保存退出后嘗試
docker search sameersbn
  • 如果出現下圖,說明成功,再運行腳本文件。要是依然報錯,再多換幾個IP試試,IP可能發生變動。

  • 要是docker修好了,但運行腳本依然下不到鏡像,可以使用下面命令一個個pull你所需要的鏡像文件:
sudo docker pull 你要的鏡像名稱
docker images  //查看已有鏡像

4. 啟動網絡

  • 啟動網絡:
cd ./fabric-samples/first-network/
$ ./byfn.sh up

  • 關閉網絡:
./byfn.sh down
  • 成功,我快樂了。

5. 常見問題解決(建議先看)

  • 問題1:使用git克隆源碼的時候報錯git fatal: Out of memory, malloc failed
  • 問題1解決方案:內存不足,需要創建swap交換空間。具體參考https://blog.csdn.net/JinfeiWang/article/details/50133727
  • 問題2:使用apt下載各類軟件出現包依賴沖突和不匹配

  • 問題2解決方案:下載安裝aptitude,它在處理依賴問題上比apt-get更好。使用sudo apt install aptitude下載aptitude,再使用sudo aptitude install xxx下載出現沖突的依賴包,他會給出各種方案。否定給出的第一個解決方案(保持不變),選擇第二個解決方案(降級使版本一致)。相信我,aptitude超好用[真誠]
  • 問題3:使用git clone報錯fatal: unable to access 'https://github(通用)
  • 問題3解決方案:把https改成git后再試一下

6. 參考博客


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM