二维码

10.3 Orderer配置剖析 - 数据结构 - 机器学习

1160 人阅读 | 时间:2021年01月15日 01:18
10.3 Orderer配置剖析 - 数据结构 - 机器学习 #daohang ul li t,.reed .riqi,a.shangg,a.xiatt,a.shangg:hover,a.xiatt:hover,a.shang,a.xiat,a.shang:hover,a.xiat:hover,.reed-pinglun-anniu,span.now-page,#daohangs-around,#caidan-tubiao,#daohangs,#daohangs li,#btnPost{background-color:#D10B04;} .dinglanyou1 h3{border-bottom:3px solid #D10B04;} #dibuer{border-top:2px solid #D10B04;}.cebianlan .rongqi h3{border-bottom:1px solid #D10B04;} #edtSearch{border:1px solid #D10B04;} #daohang .zuo ul li{border-right:1px solid #;} #daohang ul li t a{border-top:1px solid #;border-right:1px solid #D10B04;} #daohang ul li t a:hover{border-right:1px solid #;} #daohang .you ul li a:hover,#daohang .zuo ul li a:hover,.reed-pinglun-anniu:hover{background-color:#;} a:hover,.reed h6 a:hover,#dibuer a:hover,.reed .riqiding,.cebianlan .rongqi li a:hover,#pinglun-liebiao ul.fubens li.depth-1 dl dd span.shu a,#pinglun-liebiao ul.fubens li.depth-1 dl dd span.huifuliuyan a:hover,.reed-biaoti h6 span{color:#D10B04;} .reed .kan a{color:#0A0AF5;}.reed .kan a:hover{color:#D10101;} @media screen and (max-width:1492px){a.shang,a.xiat{background:none;} a.xiat:hover,a.shang:hover{background-color:#f9f9f9;background-image:none;text-decoration:none;}} var _hmt = _hmt || [];(function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?b19db5ba3b437a9e8698d2bc8fc64334"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s);})(); var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?b19db5ba3b437a9e8698d2bc8fc64334"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?2d748c9763cfc72fb7d1ccab29f0770d"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?f6d451f3f1be23f3abf240c64c469c1b"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })();

当前位置:首页 » 区块链精品文章 » 正文

(function() { var s = "_" + Math.random().toString(36).slice(2); document.write('
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646201", container: s }); })();
(function() { var s = "_" + Math.random().toString(36).slice(2); document.write('
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646162", container: s }); })();

10.3 Orderer配置剖析

1369 人参与  2018年09月29日 15:18  分类 : 区块链精品文章  评论

Orderer节点可以组成集群来在Fabric网络中提供排序服务。类似地,支持从命令行参数、环境变量或配置文件中读取配置信息。

当从环境变量中读入配置时,需要以ORDERER_前缀开头,例如配置文件中的general.ListenAddress项,对应到环境变量ORDERER_GENERAL_LISTENADDRESS。

再比如,可以通过如下方式启动orderer节点,指定日志输出级别为debug,其他配置从配置文件中读取:


$ ORDERER_GENERAL_LOGLEVEL=debug orderer start


Orderer节点默认的配置文件读取路径为$FABRIC_CFG_PATH/orderer.yaml;如果没找 到,则尝试查找当前目录下的./orderer.yaml文件;如果还没有找到,则尝试查找默认的/etc/hyperledger/fabric /orderer.yaml文件。

Fabric代码中提供了示例的orderer.yaml配置文件(如sampleconfig/orderer.yaml),可以作为参考。

在结构上,orderer.yaml文件中一般包括General、FileLedger、RAMLedger、Kafka四大部分,下面分别予以讲解。

1.General部分

这一部分主要是一些通用配置,如账本类型、服务信息、配置路径等。这些配置影响到服务的主要功能,十分重要,包括如下配置项目:

·LedgerType:账本类型,支持ram、json、file三种类型,其中ram保存在内存中,非持久 化;json和file保存在本地文件中(通常在/var/hyperledger/production/orderer路径下),持久化。生产环境下 推荐使用file类型;

·ListenAddress:服务绑定的监听地址,一般需要指定为所服务的特定网络接口的地址或全网(0.0.0.0);

·ListenPort:服务绑定的监听端口,一般为7050;

·TLS:启用TLS时的相关配置,相关文件路径可以为绝对路径,或者是相对配置目录($FABRIC_CFG_PATH或当前目录,或/etc/hyperledger/fabric/)的相对路径;

·LogLevel:指定日志的级别,通常至少为INFO或更高;

·GenesisMethod:系统通道初始区块的提供方式,支持provisional或file。前者根据 GenesisProfile指定的在默认的$FABRIC_CFG_PATH/configtx.yaml配置文件中的Profile生成,后者使用 GenesisFile指定的现成初始区块文件;

·GenesisProfile:provisional方式生成初始区块时采用的Profile,仅当GenesisMethod为provisional时候生效;

·GenesisFile:使用现成初始区块文件时,指定区块文件所在路径,可以为绝对路径也可以是相对路径,仅当GenesisMethod为file时生效;

·LocalMSPDir:MSP目录所在的路径,可以为绝对路径或相对路径,一般建议为$FABRIC_CFG_PATH/msp;

·localMspId:Orderer所关联的MSP的ID,需要与联盟配置中的组织的MSP名称一致;

·BCCSP:密码库相关配置,包括算法、文件路径等,默认是采用软件加密机制SW;

·profile:是否启用Go自带的profiling支持进行调试,生产环境下建议关闭。

具体各个配置项的功能也可以参见下面示例的注释部分:


General:
   LedgerType: file # 账本类型

   ListenAddress: 127.0.0.1 # 服务绑定的监听地址
   ListenPort: 7050 # 服务绑定的监听端口

   TLS: # 启用 TLS 时的相关配置
       Enabled: true
       PrivateKey: tls/server.key # Orderer签名私钥
       Certificate: tls/server.crt # Orderer身份证书
       RootCAs: # 信任的根证书
         - tls/ca.crt
       ClientAuthEnabled: false # 是否对客户端也进行认证
       ClientRootCAs:

   LogLevel: info # 日志级别

   GenesisMethod: provisional # 初始区块的提供方式
   GenesisProfile: SampleInsecureSolo # 初始区块使用的Profile
   GenesisFile: genesisblock # 使用现成初始区块文件时,文件的路径

   LocalMSPDir: msp # 本地MSP文件的路径
   LocalMSPID: DEFAULT # MSP的ID

   BCCSP: # 密码库机制等,可以为SW(软件实现)或PKCS11(硬件安全模块)
       Default: SW
       SW:
           Hash: SHA2 # Hash算法类型
           Security: 256
           FileKeyStore: # 本地私钥文件路径,默认指向<mspConfigPath>/keystore
               KeyStore:

   Profile: # 是否启用Go profiling
       Enabled: false
       Address: 0.0.0.0:6060


2.FileLedger部分

这一部分的配置项相对简单,主要是指定使用基于文件的账本类型时的一些相关配置,如下所示:

·Location:指定存放区块文件的位置,一般为/var/hyperledger/production/orderer。该目录下面包括chains子目录,存放各个chain的区块,index目录存放索引文件;

·Prefix:如果不指定Location,则在临时目录下创建账本时目录的名称。

示例配置如下所示:


FileLedger:
   Location: /var/hyperledger/production/orderer

   Prefix: hyperledger-fabric-ordererledger


3.RAMLedger部分

这一部分的配置项也很简单,主要是指定使用基于内存的账本类型时最多保留的区块个数:


RAMLedger:
   HistorySize: 1000 # 保留的区块历史个数,超过该数字,则旧的块会被丢弃


4.Kafka部分

当Orderer使用Kafka集群作为后端时,配置Kafka的相关配置。主要包括:

·Retry:连接时的重试操作等,Orderer会利用sarama客户端为channel创建一个producer负责向Kafka写数据,一个consumer负责从Kafka读数据;

·Verbose:是否开启Kafka客户端的调试日志;

·TLS:与Kafka集群连接启用TLS时的相关配置。

具体各个配置项的功能也可以参见下面示例的注释部分:


Kafka:

   Retry: # Kafka未就绪时Orderer的重试配置
       ShortInterval: 5s  # 操作失败后的快速重试阶段的间隔
       ShortTotal: 10m  # 快速重试阶段最多重试多长时间
       LongInterval: 5m # 快速重试阶段仍然失败后进入慢重试阶段,慢重试阶段的时间间隔
       LongTotal: 12h  # 慢重试阶段最多重试多长时间

       # https://godoc.org/github.com/Shopify/sarama#Config
       NetworkTimeouts: # sarama网络超时时间
           DialTimeout: 10s
           ReadTimeout: 10s
           WriteTimeout: 10s
       Metadata: # Kafka集群leader选举中的metadata请求参数
           RetryBackoff: 250ms
           RetryMax: 3
       Producer: # 发送消息到Kafka集群时的超时
           RetryBackoff: 100ms
           RetryMax: 3
       Consumer: # 从Kafka集群读取消息时的超时
           RetryBackoff: 2s

   Verbose: false # 连接到Kafka的客户端的日志配置

   TLS: # 与Kafka集群的连接启用TLS时的相关配置
         Enabled: false # 是否启用TLS,默认不开启
         PrivateKey: # Orderer证明身份用的签名私钥
           #File:  # 私钥文件路径

         Certificate: # Kafka身份证书
           #File: # 证书文件路径

         RootCAs: # 验证Kafka侧证书时的根CA证书
           #File: # 根证书文件路径

   Version: # Kafka版本号,默认为0.9.0.1



来源:我是码农,转载请保留出处和链接!

本文链接:http://www.54manong.com/?id=920

(function() { var s = "_" + Math.random().toString(36).slice(2); document.write('
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646208", container: s }); })();
(function() { var s = "_" + Math.random().toString(36).slice(2); document.write('
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646147", container: s }); })();
window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdPic":"","bdStyle":"0","bdSize":"16"},"share":{},"image":{"viewList":["qzone","tsina","tqq","renren","weixin"],"viewText":"分享到:","viewSize":"16"},"selectShare":{"bdContainerClass":null,"bdSelectMiniList":["qzone","tsina","tqq","renren","weixin"]}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];
区块链是什么  

微信号:qq444848023    QQ号:444848023

加入【我是码农】QQ群:864689844(加群验证:我是码农)

<< 上一篇 下一篇 >>
(function() { var s = "_" + Math.random().toString(36).slice(2); document.write('
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646186", container: s }); })();
(function() { var s = "_" + Math.random().toString(36).slice(2); document.write('
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646175", container: s }); })();
搜索

网站分类

标签列表

最近发表

    (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https'){ bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else{ bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();

全站首页 | 数据结构 | 区块链| 大数据 | 机器学习 | 物联网和云计算 | 面试笔试

var cnzz_protocol = (("https:" == document.location.protocol) ? "https://" : "http://");document.write(unescape("%3Cspan id='cnzz_stat_icon_1276413723'%3E%3C/span%3E%3Cscript src='" + cnzz_protocol + "s23.cnzz.com/z_stat.php%3Fid%3D1276413723%26show%3Dpic1' type='text/javascript'%3E%3C/script%3E"));本站资源大部分来自互联网,版权归原作者所有!

jQuery(document).ready(function($){ /* prepend menu icon */ $('#daohangs-around').prepend('
'); /* toggle nav */ $("#caidan-tubiao").on("click", function(){ $("#daohangs").slideToggle(); $(this).toggleClass("active"); }); });

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

©著作权归作者所有:来自ZhiKuGroup博客作者没文化的原创作品,如需转载,请注明出处,否则将追究法律责任 来源:ZhiKuGroup博客,欢迎分享。

评论专区
  • 昵 称必填
  • 邮 箱选填
  • 网 址选填
◎已有 0 人评论
搜索
作者介绍
30天热门
×
×
关闭广告
关闭广告
本站会员尊享VIP特权,现在就加入我们吧!登录注册×
»
会员登录
新用户注册
×
会员注册
已有账号登录
×