前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hyperledger fabric部署

Hyperledger fabric部署

作者头像
zhayujie
发布2020-04-29 10:13:23
2.2K0
发布2020-04-29 10:13:23
举报
文章被收录于专栏:ZYJ的技术专栏ZYJ的技术专栏

本文介绍如何在Ubuntu和CentOS系统下安装部署fabric环境,并在单机上运行一个示例启动fabric网络。

一、Ubuntu

cURL
代码语言:javascript
复制
sudo apt-get install curl
Git
代码语言:javascript
复制
sudo apt-get install git
Node.js
代码语言:javascript
复制
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
Docker

这里是根据官方文档https://docs.docker.com/install/linux/docker-ce/ubuntu/推荐的通过仓库下载的方法,注意用的源是Ubuntu16.04自带的source.list,如果更改了源很可能会安装失败。 1.首先更新apt包索引:

代码语言:javascript
复制
sudo apt-get update

2.安装使用仓库所需要的相关包:

代码语言:javascript
复制
sudo apt-get install \
  apt-transport-https \
  ca-certificates \
  curl \
  software-properties-common

3.安装GPG key:

代码语言:javascript
复制
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -    

验证key的fingerprint是否为9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88:

代码语言:javascript
复制
apt-key fingerprint 0EBFCD88

4.安装仓库

代码语言:javascript
复制
sudo add-apt-repository \
  "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) \
  stable"

再次更新apt-get仓库信息并下载Docker CE

代码语言:javascript
复制
sudo apt-get update
sudo apt-get install docker-ce

5.下载成功,为了方便,可以赋给当前用户(username)以docker的权限。(这一步需要切换到root用户再切换回来才能生效,或者注销)

代码语言:javascript
复制
sudo usermod -aG docker username
Docker Compose

执行命令从github下载,并增加执行权限:

代码语言:javascript
复制
sudo curl -L https://github.com/docker/compose/releases/download/1.19.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

如果速度缓慢则从DaoClound下载

代码语言:javascript
复制
curl -L https://get.daocloud.io/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > ~/docker-compose
sudo mv ~/docker-compose /usr/local/bin/docker-compose 
chmod +x /usr/local/bin/docker-compose
Go

1.用apt-get下载版本太旧,所以使用wget从官网下载最新版本,保存路径为/usr/local

代码语言:javascript
复制
sudo wget https://storage.googleapis.com/golang/go1.9.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.9.linux-amd64.tar.gz

2.安装后需要配置环境变量:

代码语言:javascript
复制
vim ~/.profile

3.添加以下内容,其中GOROOT是安装路径,GOPATH是工作路径:

代码语言:javascript
复制
export GOROOT=/usr/local/go 
export PATH=$PATH:$GOROOT/bin 
export GOPATH=$HOME/go 
export PATH=$PATH:$GOPATH/bin

4.将go的目录GOPATH放在用户目录~下,所以需要创建go目录:

代码语言:javascript
复制
cd ~
mkdir go

二、CentOS

cURL
代码语言:javascript
复制
sudo yum install curl
Git
代码语言:javascript
复制
sudo yum install git
Node.js (v8.11.3)

1.下载:

代码语言:javascript
复制
wget http://nodejs.org/dist/v8.11.3/node-v8.11.3-linux-x64.tar.gz
tar -zxvf node-v8.11.3-linux-x64.tar.gz
mv node-v8.11.3-linux-x64 /usr/local/src/node

2.配置Node环境变量:

代码语言:javascript
复制
vim ~/.bash_profile
添加:export PATH=$PATH:/usr/local/src/node/bin
Docker (v18.03)

1.下载地址:选择docker-18.03.0-ce.tgz

代码语言:javascript
复制
https://download.docker.com/linux/static/stable/x86_64/

2.安装

代码语言:javascript
复制
tar -zxvf docker-18.03.0-ce.tgz
sudo cp docker/* /usr/bin/            
sudo chmod a+rw /var/run/docker.sock   // 增加启动权限
sudo dockerd &                         // 启动docker daemon

注:也可以使用sudo yum install docker-io一键安装

Docker Compose (v1.12.0)
代码语言:javascript
复制
curl -L https://get.daocloud.io/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > ~/docker-compose
sudo mv ~/docker-compose /usr/local/bin/docker-compose 
chmod +x /usr/local/bin/docker-compose              // 增加执行权限
Go (v1.9)

1.安装

代码语言:javascript
复制
sudo wget https://storage.googleapis.com/golang/go1.9.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.9.linux-amd64.tar.gz

2.配置环境变量

代码语言:javascript
复制
sudo vim ~/.bash_profile
添加:export PATH=$PATH:/usr/local/go/bin

三、fabric部署

fabric源码

1.首先需要创建对应的目录,然后在其中克隆下fabric的源码。这里注意,fabric源码中的一些工具需要通过Go语言编译,所以源码要克隆到GOPATH路径下,否则运行例子的时候会出现错误。

代码语言:javascript
复制
mkdir -p ~/go/src/github.com/hyperledger
cd ~/go/src/github.com/hyperledger    
git clone https://github.com/hyperledger/fabric.git

2.可以将代码切换到1.1.0版本

代码语言:javascript
复制
cd fabric
git checkout v1.1.0
fabric镜像下载 (v1.1.0)

1.使用DaoCloud镜像源:

代码语言:javascript
复制
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://6e4616d7.m.daocloud.io     

2.执行项目中的脚本即可完成docker镜像的批量下载,参数可设置需要下载的镜像版本

代码语言:javascript
复制
cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/
source download-dockerimages.sh -c x86_64-1.1.0 -f x86_64-1.1.0

也可以使用以下命令下载所有镜像

代码语言:javascript
复制
curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap.sh | bash -s 1.1.0

3.如果需要手动单独拉取某个镜像(以peer镜像为例):

代码语言:javascript
复制
docker pull hyperledger/fabric-peer:x86_64-1.1.0
docker tag <imageID> hyperledger/fabric-peer:latest    // 打上latest标签
fabric网络测试

这里启动fabric中的e2e_cli示例来搭建一个简单的网络 1.进入到e2e_cli目录后运行启动网络的脚本:

代码语言:javascript
复制
cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli
./network_setup.sh up

2.该脚本执行后完成了以下工作:

  • 编译生成cryptogen工具,根据crypto-config.yaml配置文件生成网络成员的证书和私钥;
  • 通过configtxgen工具,根据configtx.yaml配置文件生成创世区块(用于启动排序节点)和通道配置交易(用于创建通道);
  • 根据docker-compose-cli.yaml配置文件启动容器,包括4Peer+Orderer+CLI;
  • CLI容器启动时会自动运行其中脚本scripts/script.sh,完成创建通道,将节点加入通道,安装和实例化链码,执行Chaincode进行相关查询和交易的任务。

3.正常运行后关闭网络

代码语言:javascript
复制
./network_setup.sh down
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-08-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、Ubuntu
  • 二、CentOS
  • 三、fabric部署
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档