Hyperledger Fabric 1.0 从零开始(三)——环境构建(内网/准离线)

简介: 有公网环境的服务器可以直接看 Hyperledger Fabric 1.0 从零开始(二)——环境构建(公网) ,本篇内容与上篇相似,只不过环境搭建需要在内网下,也就是网络被限制的情况下。 1:环境构建与测试在本文中用到的宿主机环境是Centos ,版本为Centos.x86_647.2,通过Docker 容器来运行Fabric的节点,版本为v1.0。

有公网环境的服务器可以直接看 Hyperledger Fabric 1.0 从零开始(二)——环境构建(公网) ,本篇内容与上篇相似,只不过环境搭建需要在内网下,也就是网络被限制的情况下。

 

1:环境构建与测试

在本文中用到的宿主机环境是Centos ,版本为Centos.x86_647.2,通过Docker 容器来运行Fabric的节点,版本为v1.0。因此,启动Fabric网络中的节点需要先安装Docker、Docker-compose和Go语言环境,然后在网上拉取相关的Docker镜像,再通过配置compose文件来启动各个节点。

1.1:开通内网阿里yum源访问权限

公司内网环境并非绝对无网络环境,否则即便是部署了HyperLedger/Fabric也没有任何意义。这里需要申请的阿里yum源ip及端口号如下:

115.28.122.210:80
112.124.140.210:80

之所以使用阿里yum源,大家应该都知道原因,而且是内网环境,这里就不赘述了。

【注:如果访客同学所在公司连这个都不能做到,那基本上就别搭建这套环境了,因为后面需要执行yum update的操作,这一步非常重要,后面会讲到。】

该源地址实际访问域名http://mirrors.aliyun.com,此域名ip及端口号相对稳定,但也会出现变更的情况,当阿里yum源所申请对应的ip/port无法访问的时候,请尝试该域名访问,查看其最新ip/port并更新阿里yum的访问权限。

具体操作步骤如下:

a:备份原来的yum源

sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

 

b:设置阿里yum的源

sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

 

c:清理缓存并生成新的缓存

1 sudo yum clean all
2 sudo yum makecache

d:更新yum库

sudo yum update

 

本操作的目的是为了更新所有的内置库到最新版,因为docker最新版本的安装需要所对应的依赖都是最新版,为了避免安装依赖的麻烦,故此操作很重要。

笔者开始掉进这个坑里了,一位可以不断的通过手动方式来将各种依赖导入进来,各种依赖的下载地址这里也分享一下,大家在Linux环境下如果缺少依赖,可以去Linux Packages Search下载并安装。

 

1.2:Docker安装

进入docker官网

GetDocker -》Centos -》Get CE(社区版)-》Get Docker CE on CentOS -》Install Docker CE on CentOS。

按照官网给出的步骤离线安装Docker CE版

如果在服务器上有旧版的docker,需要先执行卸载操作,如下:

$ sudo yum remove docker \ 
                               docker-common \ 
                               docker-selinux \ 
                               docker-engine

随后开始安装Docker CE

笔者写该文档时Docker官方最新版为docker-ce-17.06.0.ce-1.el7.centos.x86_64.rpm,在Packages可下载最新版。

可将最新版下载至/tmp/docker/docker目录下。

随后执行如下命令进行安装:

1 cd /tmp/docker/docker
2 yum install docker-ce-17.06.0.ce-1.el7.centos.x86_64.rpm
3 y

 

最终安装成功视图如下:

执行如下命令可以查看当前docker安装的版本信息,并确认是否安装成功:

docker --version

结果如下视图:

docker启动:

service docker start

docker开机自启动:

chkconfig docker on

结果如下视图:

 

1.3:Docker-Compose安装

Docker-Compose的离线安装相对于curl安装稍微麻烦一点,需要在官网提供的github项目里下载最新版的docker-compose-Linux-x86_64,随后将其上传至/tmp/docker/docker-compose下,笔者写此文档的时候官方提供的docker-compose最新版为1.15.0。

接着执行如下命令完成安装:

1 cd /tmp/docker/docker-compose
2 mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
3 chmod +x /usr/local/bin/docker-compose

赋予可执行权限是必不可少的,随后执行如下命令查看docker-compose版本信息并确认安装是否生效:

docker-compose --version

最终完整运行视图应该如下:

 

1.4:Go语言安装

1、参照Go官网,找到linux版本下载路径,执行以下操作下载最新版Go语言包

直接通过https://golang.org/doc/install?download=go1.8.3.linux-amd64.tar.gz链接下载最新版。

下载后可上传至/tmp/docker目录下。

2、解压go1.8.3.linux-amd64.tar.gz至/usr/local目录下,执行如下操作:

1 cd /tmp/docker
2 tar -C /usr/local -xzf go1.8.3.linux-amd64.tar.gz

3、配置go环境变量

修改/etc/profile文件使其永久性生效,并对所有系统用户生效,在文件末尾加上如下两行代码

1 export PATH=$PATH:/usr/local/go/bin
2 export GOPATH=/opt/gopath

上述修改/etc/profile文件具体实现如下操作:

1 cd /etc
2 vim profile

执行修改后,继续执行:

source profile

使其修改生效。随后可通过下述命令:

echo $PATH

查看是否添加成功。

最后可通过

go version

查看当前go版本信息,正常情况下如下视图:

 

 

这里笔者上传或指定的安装目录都非固定的,但注意,如果上传至tmp目录,linux系统会不定时的清除里面的内容。

 

目录
相关文章
|
开发框架 .NET 区块链
Hyperledger fabric部署链码(五)初始化与链码升级
fabric部署chaincode-go(智能合约)系列之五
203 0
|
存储 JSON 安全
Hyperledger fabric智能合约编写(一)
本篇文章主要对链码编写的主要思路和部分API进行梳理。
174 1
|
Go API 区块链
Hyperledger Fabric相关概念介绍
在学习Hyperledger Fabric的过程中,初步对相关概念的了解。
260 0
Hyperledger Fabric相关概念介绍
|
JSON 区块链 数据格式
Hyperledger fabric部署链码(四)提交链码定义到channel
fabric部署chaincode-go(智能合约)系列之四
|
测试技术 API 区块链
Hyperledger fabric部署链码(三)批准链码定义
fabric部署chaincode-go(智能合约)系列之三
131 0
|
测试技术 Go 区块链
Hyperledger fabric 测试环境部署
Hyperledger fabric 测试环境部署及相关问题解答
266 3
Hyperledger fabric 测试环境部署
|
JavaScript 测试技术 Go
Hyperledger fabric部署链码(一)打包链码
fabric部署chaincode-go(智能合约)系列之一
245 0
|
区块链
Hyperledger fabric部署链码(二)安装链码到fabric
fabric部署chaincode-go(智能合约)系列之二
147 1
|
消息中间件 Java Kafka
Hyperledger Fabric 通道配置文件和容器环境变量详解
Fabric 节点的主配置路径为 FABRIC_CFG_PATH 环境变量所指向路径(默认为 /etc/hyperledger/fabric)。在不显式指定配置路径时,会尝试从主配置路径下查找相关的配置文件。
357 0
|
Java API 区块链
Hyperledger Fabric 2.x Java区块链应用
在上一篇文章中分享了智能合约的安装并使用cli客户端进行合约的调用;本文将使用Java代码基于fabric-gateway-java进行区块链网络的访问与交易,并集成SpringBoot框架。
936 0
Hyperledger Fabric 2.x Java区块链应用
下一篇
无影云桌面