在Ubuntu上部署Fabric环境(+出错记录)

栏目: 编程工具 · 发布时间: 7年前

内容简介:首先在VMware Workstation虚拟机上安装Ubuntu,配置好环境,调好中文语言、分辨率后,打开终端。PS:在安装Ubuntu系统后如果发现与Windows系统的文件不能相互复制,网上查了很多教程,发现都是不能用的,能实现的方法如下所示:打开终端,输入:

首先在VMware Workstation虚拟机上安装Ubuntu,配置好环境,调好中文语言、分辨率后,打开终端。

PS:在安装Ubuntu系统后如果发现与Windows系统的文件不能相互复制,网上查了很多教程,发现都是不能用的,能实现的方法如下所示:

打开终端,输入:

sudo apt-get autoremove open-vm-tools
sudo apt-get install open-vm-tools-desktop

然后重启

特别推荐

如果用户切换到root下,就不用考虑权限的问题,这样会省去哼多麻烦,不用加 sudo ,安装其他的软件业方便

cc@cc-fibric:~$ sudo -i
[sudo] password for cc: 
root@cc-fibric:~#

接下来,就正式开始Fabric的部署了,这是在普通用户下的(在root用户下就不用sudo):

第一步:配置好基本的Ubuntu环境**

安装 Vim:

sudo apt-get install vim

安装Curl:

sudo apt-get update
sudo apt install curl

安装Git:

sudo apt-get install git

第二步:安装 go 语言和搭配环境变量

安装go语言:

sudo apt-getinstall golang

查看go 语言版本:

root@cc-fibric:~# go version
go version go1.11 linux/amd64

查看go语言的安装路径等:

root@cc-fibric:~# go env
在Ubuntu上部署Fabric环境(+出错记录)

微信截图_20181106105602.png

在安装好go语言之后,还需要配置****go****语言的环境变量:

vim ~/.profile //编辑当前用户的环境变量

当然,如果需要在所有用户下都生效,即在root账户下生效,建议在 /etc/profile 目录下配置环境变量

root@cc-fibric:~# vim /etc/profile

在 profile的最后添加以下内容

可以再自己的home目录下建立一个go的空文件目录 (用mkdir 语句) ,来设置go语言的环境变量

具体介绍,可以参考这个链接:go语言中文网

export PATH=$PATH:/usr/local/go/bin (根据自己的情况而定)   //设置为你自己的go安装目录
export GOROOT=/usr/local/go
export GOPATH=$HOME/cc/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
在Ubuntu上部署Fabric环境(+出错记录)

微信截图_20181106105043.png

第三步:安装docker

Ubuntu有自带的docker:

sudo apt-get update
sudo apt-get install -y docker.io
sudo ln -sf /usr/bin/docker.io  /usr/local/bin/docker //软链接,就行wonder下的建立快捷键一样

查看版本:

root@cc-fibric:~# docker -v
Docker version 17.03.2-ce, build f5ec1e2

如果遇到问题,可以停用、启动docker。

停用:sudo service docker stop
启用:sudo service docker start

然后修改当前用户的权限:

sudo usermod -aG docker $USER

添加镜像加速:

sudo mkdir -p /etc/docker                     //建立 docker 文件
sudo gedit /etc/docker/daemon.json        //也可以用vim 编辑,随便

在daemon.json文件中加入如下信息:

{ "registry-mirrors":["https://registry.docker-cn.com"] }

Docker-Compose的安装

运行以下命令下载最新版本的docker-compose:

sudo curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose- uname -s - uname -m -o /usr/local/bin/docker-compose

这个网站可能跑不通,读者可以在这个网站: docker-compose拉取地址

自己去拉取最新的docker-compose,语句都是一样的,只不过换了网址: https://github.com/docker/compose/releases/

更改二进制文件的权限,使其能够运行:

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

另一个办法 源码安装

我们从官方网站( https://github.com/docker/compose/releases )上下载源码压缩包(最新版),放到Downlands目录下,

切换到给目录下,将docker-compose-Linux-x86_64改名为docker-compose

sudo  mv  docker-compose-Linux-x86_64  docker-compose
sudo mv  docker-compose /usr/local/bin/docker-compos
chmod +x /usr/local/bin/docker-compose

测试安装:

root@cc-fibric:~# docker-compose version
docker-compose version 1.23.0-rc3, build ea3d406e
docker-py version: 3.5.0
CPython version: 3.6.6
OpenSSL version: OpenSSL 1.1.0f  25 May 2017

第四步 Fabric源码下载

在go的环境变量下建立文件夹,切换到该文件夹下:

cd ~/go/src/github.com/hyperledger

用git命令下载完整源码

git clone https://github.com/hyperledger/fabric.git

由于我们只是在搭建环境。不需要最新的代码,所以只需要切换到v1.0.0大版本就行。

cd  ~/go/src/github.com/hyperledger/fabric           //进入fabric目录git checkout v1.0.0
git checkout v1.0.0

我现在切换到较新的版本 v1.1
Fabric源码下载完成!!

第五步 Fabric Docker镜像的下载

切换到fabric的examples文件下:

cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/

运行命令下载镜像:

source download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0

下载完毕后,我们运行以下命令检查下载的镜像列表:

docker images
在Ubuntu上部署Fabric环境(+出错记录)

微信截图_20181106102903.png

第六步 启动Fabric网络并完成ChainCode的测试

切换到examples/e2e_cli文件下,启动测试例子:

root@cc-fibric:cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli
root@cc-fibric:/home/cc/go/src/github.com/hyperledger/fabric/examples/e2e_cli
./network_setup.sh up
setting to default channel 'mychannel'
mychannel

Using cryptogen -> /home/cc/go/src/github.com/hyperledger/fabric/examples/e2e_cli/../../release/linux-amd64/bin/cryptogen

##########################################################
##### Generate certificates using cryptogen tool #########
##########################################################
.................
.................
.................
2018-11-01 09:43:07.708 UTC [msp/identity] Sign -> DEBU 007 Sign: digest: 88E6F9361B88875DC921D2139523C130AAD7DFDAECD142697FC10198AD4835B0 
Query Result: 90
2018-11-01 09:43:23.521 UTC [main] main -> INFO 008 Exiting.....
===================== Query on PEER3 on channel 'mychannel' is successful ===================== 

===================== All GOOD, End-2-End execution completed ===================== 


 _____   _   _   ____            _____   ____    _____ 
| ____| | \ | | |  _ \          | ____| |___ \  | ____|
|  _|   |  \| | | | | |  _____  |  _|     __) | |  _|  
| |___  | |\  | | |_| | |_____| | |___   / __/  | |___ 
|_____| |_| \_| |____/          |_____| |_____| |_____|

启动和关闭:

启动:./network_setup.sh up
关闭:./network_setup.sh down

第七 出错记录

1.ERRO 001 Cannot run peer because error when setting up MSP from directory........msp.......

2.ERRO 001 Cannot run peer because error when setting up MSP from directory /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp......

解决办法:

这两个问题都是因为fabric版本和docker镜像版本不一致查看

git branch -a
在Ubuntu上部署Fabric环境(+出错记录)

微信截图_20181106102733.png

结果带*就是你的branch,如果不是v1.0.0,就git checkout v1.0.0

当然,也可以下载对应的镜像(如果版本为v 1.1):

cd $GOPATH/src/github.com/hyperledger/fabric/examples/e2e_cli/
source download-dockerimages.sh -c x86_64-1.1.0 -f x86_64-1.1.0

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Programming in Haskell

Programming in Haskell

Graham Hutton / Cambridge University Press / 2007-1-18 / GBP 34.99

Haskell is one of the leading languages for teaching functional programming, enabling students to write simpler and cleaner code, and to learn how to structure and reason about programs. This introduc......一起来看看 《Programming in Haskell》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

随机密码生成器
随机密码生成器

多种字符组合密码

MD5 加密
MD5 加密

MD5 加密工具