Hyperledger Fabric 1.0 学习搭建 (一)--- 基础环境搭建
1: 环境构建
在本文中用到的宿主机环境是Centos ,版本为Centos.x86_64 7.2, 一定要用7版本以上, 要不然会安装出错。 通过Docker 容器来运行Fabric的节点,版本为v1.0。
因此, 启动Fabric网络中的节点需要先安装Docker、 Docker-compose和Go语言环境, 然后在网上拉取相关的Docker镜像, 再通过配置compose文件来启动各个节
点。
1.1: 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
1)设置REPOSITORY
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
2)启动extras额外的依赖库
yum-config-manager --enable extras
3)设置docker稳定的源
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
4)启动docker.repo源
yum-config-manager --enable docker-ce-edge
5)更新yum的安装索引
yum makecache fast
6)展示yum里能够提供的docker-ce的版本
yum list docker-ce.x86_64 --showduplicates |sort -r
7)安装特定版本的CE
yum -y install docker-ce-17.09.1.ce
8)编辑/etc/docker/daemon.json,新建或者添加如下:
{
"storage-driver": "devicemapper"
}
9)官方推荐生产环节配置direct-lvm,配置步骤如下:(暂时不用)
https://docs.docker.com/engine/userguide/storagedriver/device-mapper-driver/#configure- direct-lvm-mode-for-production
10)执行查询docker版本号,看是否安装成功
docker --version
正常情况下会出现如下图示

11)docker启动:
service docker start
12)启动一个容器测试
docker run hello-world
#出现如下及安装成功
Hello from Docker!
This message shows that your installation appears to be working correctly
13) docker开机自启动:
chkconfig docker on
1.2: Docker-Compose安装
Docker-Compose安装可参照官网步骤进行, 需要服务器支持curl功能, 如果服务器不支持curl, 需要执行如下操作安装curl依赖:
yum install curl
根据官网所指向github项目, 目前docker-compose最新版为1.15.0
执行如下操作下载docker-compose
curl -L https://github.com/docker/compose/releases/download/1.17.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
该下载目录为/usr/local/bin/docker-compose, 且权限已经给出, 再执行docker-compose --version检查版本号, 或许会有如下示:

如果出现上述提示, 执行以下操作
cp /usr/local/bin/docker-compose /usr/bin
将docker-compose拷贝至/usr/bin目录下, 再次执行
docker-compose --version
正常情况下会打印docker-compose的版本信息, 如下视图

1.3: Go语言安装
1、 参照Go官网, 找到linux版本下载路径, 执行以下操作下载最新版Go语言包
curl -O https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz
官网访问很慢甚至不能访问, 可以访问VSDN链接下载地址:
或直接通过https://golang.org/doc/install?download=go1.8.3.linux-amd64.tar.gz链接下载最新版。 切记, 该URL中版本号甚至链接本身以官网为主! (管网
路径以更改为https://studygolang.org/doc/install)
如果下载特别慢甚至不能链接, 可以到CSDN等网站去下载压缩包, 然后上传到服务器。
2、 解压go1.8.3.linux-amd64.tar.gz至/usr/local目录下, 执行如下操作:
tar -C /usr/local -xzf go1.8.3.linux-amd64.tar.gz
3、 配置go环境变量
修改/etc/profile文件使其永久性生效, 并对所有系统用户生效, 在文件末尾加上如下两行代码
export PATH=$PATH:/usr/local/go/bin
export GOPATH=/opt/gopath
上述修改/etc/profile文件具体实现如下操作:
cd /etc
vim profile
执行修改后, 继续执行:
source profile
使其修改生效。 随后可通过下述命令:
echo $PATH
查看是否添加成功。
最后可通过
go version
查看当前go版本信息, 正常情况下如下视图:

至此整个Fabric所需的基础环境都已经搭建起来了。
声明:本教程参考 深蓝 和 Aberic博客编写而成,链接: http://www.cnblogs.com/studyzy/p/7237287.html 和 https://www.cnblogs.com/aberic/p/7527831.html
Hyperledger Fabric 1.0 学习搭建 (一)--- 基础环境搭建的更多相关文章
- Hyperledger Fabric 1.0 从零开始(三)——环境构建(内网/准离线)
有公网环境的服务器可以直接看 Hyperledger Fabric 1.0 从零开始(二)--环境构建(公网) ,本篇内容与上篇相似,只不过环境搭建需要在内网下,也就是网络被限制的情况下. 1:环境构 ...
- Hyperledger Fabric 1.0 从零开始(二)——环境构建(公网)
1:环境构建 在本文中用到的宿主机环境是Centos ,版本为Centos.x86_647.2,通过Docker 容器来运行Fabric的节点,版本为v1.0.因此,启动Fabric网络中的节点需要先 ...
- Maven 学习笔记(一) 基础环境搭建
在Java的世界里,项目的管理与构建,有两大常用工具,一个是Maven,另一个是Gradle,当然,还有一个正在淡出的Ant.Maven 和 Gradle 都是非常出色的工具,排除个人喜好,用哪个工具 ...
- Hyperledger Fabric 1.0 学习搭建 (五)--- 启动Fabric多节点集群
5.1.启动orderer节点服务 上述操作完成后,此时各节点的compose配置文件及证书验证目录都已经准备完成,可以开始尝试启动多机Fabric集群. 首先启动orderer节点,切换至order ...
- Hyperledger Fabric 1.0 学习搭建 (三)--- 运行测试e2e-Fabric
3.1.运行fabric-samples的问题说明 该问题说明能够解决6.1.平台特定使用的二进制文件配置第一步的问题.可以选择继续阅读该说明,或者等参考到6.1小节时再反向阅读本说明,具体在6.1中 ...
- Hyperledger Fabric 1.0 学习搭建 (二)--- 源码及镜像文件处理
2.1下载Fabric源码下载Fabric源码是因为要用到源码中提到的列子和工具, 工具编译需要用到go语言环境, 因此需要把源码目录放到$GOPATH下. 通过1.3中go的安装配置, $GOPAT ...
- Hyperledger Fabric 1.0 学习搭建 (四)--- 创建Fabric多节点集群
4.1.配置说明 首先可以根据官方Fabric自带的e2e_cli列子中的集群方案来生成我们自己的集群,与案例不同的是我们需要把容器都分配到不同的服务器上,彼此之间通过网络来进行通信,网络构建完成后则 ...
- Ext学习-HelloWorld以及基础环境搭建
1.目的 在eclipse中搭建EXTJS的基础环境,学习如何按照从官方下载的代码中搭建新的Extjs工程 2.主要包含内容: 1.ExtJS文件下载以及目录说明 2.ExtJS开发环境 ...
- ODB学习笔记之基础环境搭建
一,简介 ODB是应用于C++的一个开源.跨平台.跨数据库的对象关系映射(ORM)系统. 它可以让你持久化C++对象到关系数据库,而不必处理表.列或者SQL,无需手动编写任何映射代码. ODB支持 ...
随机推荐
- 转:JVM系列三:JVM参数设置、分析
转自:http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html 不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断 ...
- 【C语言】-指向一维数组元素的指针
本文目录 一.用指针指向一维数组的元素 二.用指针遍历数组元素 三.指针与数组的总结 四.数组.指针与函数参数 说明:这个C语言专题,是学习iOS开发的前奏.也为了让有面向对象语言开发经验的程序员,能 ...
- 权重平等分布局And TableRow布局误区
开头语: 本人最近在自学Android,虽然本人有2年Java Web的开发经验.但是发现Android的自学之路并不是那么平坦,我没有Android真机.但是有一个window phone的手机.开 ...
- EntityFramework6 版本更变产生的错误
LINQ to Entities does not recognize the method 'System.Nullable`1[System.Int32] DiffMinutes(System.N ...
- nginx配置服务器负载均衡
upstream servers { ip_hash; #hash,ip轮训 server localhost:8400; } server { listen 80; server_name loca ...
- vue打包后运行在本地/非服务器端环境的访问路径
vue打包前的配置: 项目目录下--> config文件夹---> index.js: build: { assetsPublickPath: './', // 设置成相对路径 ...
- [android] 通过比对进行容器联动
当中间容器变化之后,标题栏也要跟着变化 设计个比对依据: 抽象类BaseView中定义抽象方法,每个继承的View都必须实现,为自己的界面定义一个唯一的int常量,作为比对依据 降低容器之间的耦合度: ...
- Effective C++ .44 typename和class的不同
在C++模板中的类型参数一般可以使用typename和class,两者没有什么不同.但是typename比class多项功能: “任何时候当你想要在template中指涉一个嵌套从属类型名称,就必须在 ...
- 02HTML-<img>
一.img的属性:alt/title alt属性是替换名字,是给搜索引擎抓取使用,当图片显示不出来时,就会显示出alt的内容: title 属性是提示文字,当鼠标移到图片上的时候会显示出来,大部分的标 ...
- 前端学习之路之CSS (三)
Infi-chu: http://www.cnblogs.com/Infi-chu/ 创建CSS有三种方法:外部样式表.内部样式表.内联样式.优先级:内联样式>内部样式>外部样式表> ...