Hyperledger Fabric 1.0 从零开始(七)——启动Fabric多节点集群
5:启动Fabric多节点集群
5.1、启动orderer节点服务
上述操作完成后,此时各节点的compose配置文件及证书验证目录都已经准备完成,可以开始尝试启动多机Fabric集群。
首先启动orderer节点,切换至orderer.example.com服务器,即前文指定的10.130.116.8服务器,执行如下命令进入启动docker进程:
docker-compose -f docker-compose-orderer.yaml up -d
运行完毕后我们可以使用docker ps看到运行了一个名字为orderer.example.com的节点。如下图所示:

5.2、启动peer节点服务
切换到peer0.org1.example.com服务器,即前文指定的10.130.116.9服务器,启动本服务器的peer节点和cli,执行如下命令:
docker-compose -f docker-compose-peer.yaml up -d
运行完毕后我们使用docker ps应该可以看到2个正在运行的容器,如下视图:

接下来依次在另外3台服务器运行启动peer节点容器的命令,执行命令与上述方案一致,如下所示:
docker-compose -f docker-compose-peer.yaml up -d
现在我们整个Fabric4+1服务器网络已经成型,接下来是创建channel和运行ChainCode。
5.3、创建channel和运行chaincode
切换到peer0.org1.example.com服务器上,使用该服务器上的cli来运行创建Channel和运行ChainCode的操作。首先需要进入cli容器,执行如下命令:
docker exec -it cli bash
进入容器后我们可以看到命令提示变为如下所示:
root@dd815a900955:/opt/gopath/src/github.com/hyperledger/fabric/peer#
参考如下视图:

说明我们已经以root的身份进入到cli容器内部。官方已经提供了完整的创建Channel和测试ChainCode的脚本,并且已经映射到cli容器内部,所以我们只需要在cli内运行如下命令:
./scripts/script.sh mychannel
该脚本会一步一步的完成创建通道,将其他节点加入通道,更新锚节点,创建ChainCode,初始化账户,查询,转账,再次查询等链上代码的各个操作都可以自动化实现。直到最后,系统提示如下视图:

说明我们的4+1的Fabric多级部署成功了。我们现在是在peer0.org1.example.com的cli容器内,我们也可以切换到peer0.org2.example.com服务器,运行docker ps命令,可以看到本来是2个容器的,现在已经变成了3个容器,因为ChainCode会创建一个容器,如下视图:
上图第一个docker ps执行只有最开始创建的两个容器,后一个docker ps命令执行后会发现有三个容器。
至此,整个官方给予的Fabric多机集群部署的工作都已经验证完成,下面需要我们通过手动方式来一台服务器一台服务器的配置,分别执行加入通道,更新锚节点,创建ChainCode,初始化账户,查询,转账,再次查询等链上代码的各个操作。
这些手动提交的步骤及代码均可在./scripts/script.sh中看到,具体的执行和操作流程将会在下一章详细讲解。
本章节及前面的一章可以直接参阅:Fabric 1.0的多机部署,在这位老师的博客里写的非常清楚,而且我也是参考这篇博客来完成多机多节点自动部署方案的,只是手动调配及后续操作在网上基本上没有可供参考的中文内容,需要查看官网文档来逐步实现。
截至目前,网络上已有的所有中文方面的博客、文档都是教会你如何跑通官方的e2e demo,也就是本章节及之前的内容,而后续的内容基本上找不到,但会有部分零散的存在,后续章节中在引用到的时候会添加对应的链接方便各位参阅。
Hyperledger Fabric 1.0 从零开始(七)——启动Fabric多节点集群的更多相关文章
- Hadoop-2.2.0中国文献——MapReduce 下一代 —配置单节点集群
Mapreduce 包 你需从公布页面获得MapReduce tar包.若不能.你要将源代码打成tar包. $ mvn clean install -DskipTests $ cd hadoop-ma ...
- Hyperledger Fabric 1.0 从零开始(一)——吐槽
在HyperLedger/Fabric发布0.6的时候,公司就已经安排了一个团队研究这一块,后来也请IBM的专家组过来培训了一批人,不幸的是,这批人后来全走了,然后没过多久1.0就发布了.自从2017 ...
- Hyperledger Fabric 1.0 从零开始(一)
在HyperLedger/Fabric发布0.6的时候,公司就已经安排了一个团队研究这一块,后来也请IBM的专家组过来培训了一批人,不幸的是,这批人后来全走了,然后1.0就发布了.自从2017年7月H ...
- Hyperledger Fabric 1.0 从零开始(三)——环境构建(内网/准离线)
有公网环境的服务器可以直接看 Hyperledger Fabric 1.0 从零开始(二)--环境构建(公网) ,本篇内容与上篇相似,只不过环境搭建需要在内网下,也就是网络被限制的情况下. 1:环境构 ...
- Hyperledger Fabric 1.0 从零开始(二)——环境构建(公网)
1:环境构建 在本文中用到的宿主机环境是Centos ,版本为Centos.x86_647.2,通过Docker 容器来运行Fabric的节点,版本为v1.0.因此,启动Fabric网络中的节点需要先 ...
- Hyperledger Fabric 1.0 从零开始(十二)——fabric-sdk-java应用
Hyperledger Fabric 1.0 从零开始(十)--智能合约 Hyperledger Fabric 1.0 从零开始(十一)--CouchDB 上述两章,最近网上各路大神文章云集,方案多多 ...
- Hyperledger Fabric 1.0 从零开始(十三)——orderer分布式方案
简述 在搭建HyperLedger Fabric环境的过程中,我们会用到一个configtx.yaml文件(可参考Hyperledger Fabric 1.0 从零开始(八)——Fabric多节点集群 ...
- Hyperledger Fabric 1.0 从零开始(八)——Fabric多节点集群生产部署
6.1.平台特定使用的二进制文件配置 该方案与Hyperledger Fabric 1.0 从零开始(五)--运行测试e2e类似,根据企业需要,可以控制各节点的域名,及联盟链的统一域名.可以指定单独节 ...
- Hyperledger Fabric 1.0 从零开始(十二)——fabric-sdk-java应用【补充】
在 Hyperledger Fabric 1.0 从零开始(十二)--fabric-sdk-java应用 中我已经把官方sdk具体改良办法,即使用办法发出来了,所有的类及文件都是完整的,在文章的结尾也 ...
随机推荐
- 【.Net Core 2.0 生态】-- 好文收藏
随笔分类 - .NET Core - dotNet实训营 .Net Core 2.0 生态(1).NET Standard 2.0 特性介绍和使用指南 .Net Core 2.0 生态(2).NET ...
- easyui1.2.6 validate输入框验证在火狐下的一个bug
easyui版本1.2.6,其他版本未测试是否有这个问题. 问题描述:FF浏览器中,当前输入框需要失去焦点验证,在编辑完成后不点击其他地方使输入框失去焦点,而直接点击保存按钮,此时只会进行输入框失去焦 ...
- JS模拟类的实现
http://www.ruanyifeng.com/blog/2012/07/three_ways_to_define_a_javascript_class.html
- 【可视化】Echarts3图层
默认echarts中canvas组件的z-index等于2,所以如果想让一个块元素如div覆盖echarts组件,需要指定z-index:3或者更大
- DotNetCore跨平台~Quartz热部署的福音~监控文件夹的变化
在DotNetCore出来之后,同时也使用了quartz进行调度中心的设计,将它做到docker里方便部署,在之前的quartz版本里支持配置文件的方式,而现在不支持了,我们应该去想一下,为什么不去支 ...
- python+selenium自动化软件测试(第6章):selenium phantomjs页面解析使用
我们都知道Selenium是一个Web的自动化测试工具,可以在多平台下操作多种浏览器进行各种动作,比如运行浏览器,访问页面,点击按钮,提交表单,浏览器窗口调整,鼠标右键和拖放动作,下拉框和对话框处理等 ...
- jquery的2.0.3版本源码系列(4):285-348行,extend方法详解
目录 1 . jquery extend的基本使用 通过285行的源码 jQuery.extend = jQuery.fn.extend = function() { ,extend方法要么是直接挂在 ...
- jboss初体验
本人电脑的java版本是java8,而jboss的版本最多支持到java7.x,导致启动jboss7,在浏览器无法访问localhost:8080. 于是我查找百度,发现jboss8其实就是wildf ...
- jquery 的 each 方法中 return 的坑
jquery 的 each 方法中 return 的坑 Chapter 0 在项目中使用 jquery 的 each 方法时想在 each 的循环中返回一个布尔类型的值于是掉进一个坑中... Chap ...
- [2014-02-23]Asp.net Mvc分布式Session存储方案
要玩集群的时候,怎么处理会话状态Session? InProc模式的sessionState是不能用了,因为这是在web服务器本机进程里的,会造成各节点数据不一致.除非在分流的时候用ip hash策略 ...