ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

部署 Hyperledger Fabric

2021-10-26 18:31:18  阅读:217  来源: 互联网

标签:Fabric 部署 sudo apt https docker com Hyperledger fabric


参考链接:

  https://www.cnblogs.com/cbkj-xd/p/11067790.html

  https://blog.csdn.net/lppljy/article/details/117386509

环境搭建:

1.搭建Fabric的前置条件

为了提高下载速度,这里将Ubuntu的源改为国内的源(以阿里源为例):

#首先进行配置文件的备份
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
#编辑配置文件
sudo vim /etc/apt/sources.list

在配置文件中开头添加以下内容(阿里源):

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

执行命令更新一下:

sudo apt-get update
sudo apt-get upgrade

1.1安装GOLANG

首先需要安装一些必要的依赖:

sudo apt install libtool libltdl-dev

国内GO语言安装包的下载地址为:

 https://studygolang.com/dl

本文中下载了go1.12.5.linux-amd64.tar.gz到Ubuntu系统中。
将压缩包复制到/usr/local路径下,执行以下命令进行解压:

cd /usr/local
tar zxvf go*.tar.gz

接下来配置GO的环境变量:

sudo vim /etc/profile

在文本中添加以下内容:

export PATH=$PATH:/usr/local/go/bin
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin

执行命令:

source /etc/profile
go version

如果可以看到GO的版本信息,说明GO已经安装完成。

1.2安装Docker

在这里,我们可以使用阿里云的镜像地址安装Docker。
如果Ubuntu系统中有旧版本的Docker,需要卸载后重新安装。可以使用以下命令进行卸载:

sudo apt-get remove docker \
             docker-engine \
             docker.io

然后执行以下命令安装Docker:

# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2:安装GPG证书:
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# step 3:写入软件源信息
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# step 4:更新并安装Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce

###参考 https://help.aliyun.com/document_detail/60742.html

将当前用户添加到Docker用户组:

# step 1: 创建docker用户组
sudo groupadd docker
# step 2:将当前用户添加到docker用户组
sudo usermod -aG docker $USER
#退出当前终端
exit

将docker镜像更改为阿里云的地址:
这一步只限Ubuntu16.04+,Debian8+,CentOS 7的系统。
编辑/etc/docker/daemon.json文件,如果没有则自行创建,添加以下内容:

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

对于Ubuntu14.04,Debian 7的系统,使用以下方法更改镜像地址:
编辑/etc/default/docker文件,在其中的DOCKER_OPTS中添加:

DOCKER_OPTS="--registry-mirror=https://registry.dockere-cn.com"

最后重启服务:

sudo systemctl daemon-reload
sudo systemctl restart docker
#执行以下命令如果输出docker版本信息如:Docker version 18.09.6, build 481bc77则说明安装成功
docker -v

执行docker info 如果结果中含有如下内容则说明镜像配置成功:

Registry Mirrors:
   https://registry.docker-cn.com/

1.3 安装Docker-Compose

首先需要安装Python pip:

sudo apt-get install python-pip

下载docker-compose的二进制包:

curl -L https://github.com/docker/compose/releases/download/1.26.2/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose
#执行这一步时如果出现如下信息:
# Warning: Failed to create the file /usr/local/bin/docker-compose: Permission 
# 则添加sudo 重新执行
#更改权限
sudo chmod +x /usr/local/bin/docker-compose

#检测docker-compose是否安装成功:
docker-compose -v

1.4 安装node.js

先安装默认的低版本

sudo apt-get install nodejs
sudo apt install npm

更换镜像

npm config set registry https://registry.npm.taobao.org

更新node.js的版本

sudo npm install n -g
sudo n stable

查看安装结果和版本

node -v

如果以上步骤可以顺利完成的话,接下来就可以进入正题了

2.Fabric的环境搭建

首先,我们创建并进入项目目录

mkdir -p ~/go/src/github.com/hyperledger //创建目录,一般这样设置
cd ~/go/src/github.com/hyperledger //进入目

下载过程可能会缓慢,或者中断,因此我们首先加大缓存区

git config --global http.postBuffer 524288000

然后下载fabric项目

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

成功后,可以进入fabric目录

cd fabric

查看分支,也就是查看目前所有的fabric版本

git branch -a

如果想要部署相应的fabric版本执行(本例子以V2.0.0版本为例,不同版本修改数字即可)

git checkout v2.0.0

再次查询结果如下所示

 

执行bootstrap.sh脚本拉取文件(fabric-samples以及相应的二进制文件、镜像文件)

1、执行bootstrap.sh

首先我们进入到scripts目录

cd scripts

然后执行bootstrap.sh文件

./bootstrap.sh

结果如下所示则成功

 

如果此处成功,直接跳转第3步

2、如果1报错

如果在执行bootstrap.sh自动下载fabric-samples和fabric镜像时,由于国内网络的原因,常常会下载 hyperledger-fabric-linux-amd64-2.0.0.tar.gz 失败的错误导致无法继续进行(我这里成功了,可以的话建议先这样尝试,因为接下来可能会导致下载的对应版本不一样,官方例子运行出现bug),同时要保证所有的faberic镜像下载成功。

失败后先拉取fabric-samples

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

拉取成功后切换到v2.0.0-beta分支(可查看当前分支,因为显示的到1.4版本的)

git branch -a
git checkout v2.0.0-beta

下载相应版本的二进制文件

https://github.com/hyperledger/fabric/releases/download/v2.0.1/hyperledger-fabric-linux-amd64-2.0.1.tar.gz

下载完成后将压缩包复制到当前的fabric-samples目录,并解压压缩包

tar -xzvf hyperledger-fabric-linux-amd64-2.0.1.tar.gz

然后到第三步来进行验证,这一步还会有一些问题,会在注意里提示

3、验证部署是否成功

先进入当前目录中的fabric-samples目录

cd fabric-samples

然后用ls查询fabric-samples的目录里有first-network进去相应目录,然后执行相应的启动文件,看是否可以成功启动

cd first-network
./byfn.sh up //在first-network目录里启动

如果报错

 

这时需要将GOPROXY换成国内代理:

go env -w GOPROXY=https://goproxy.cn
export GOPROXY=https://goproxy.cn

再次运行

./byfn.sh down //关闭刚刚运行的
./byfn.sh up //重新运行

这样则成功

 

注意事项:如果直接先拉取fabric-samples解压后使用,会导致fabric-samples里的例子变成1.4版本的(但是对于fabric环境没影响),而且运行测试网络或者使用fabric-samples的项目例子会出现很多问题,当时提示我以下问题(也可能会运行成功,大概率试了很多次1.4版本的可以成功)所以优先建议按照上述步骤拉取fabric-samples和fabric镜像。

 

 

 

标签:Fabric,部署,sudo,apt,https,docker,com,Hyperledger,fabric
来源: https://www.cnblogs.com/lihui123/p/15467183.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有