《Hyperledger Fabric菜鸟进阶攻略》 —2.3.2 orderer.yaml详解
2.3.2 orderer.yaml详解
orderer.yaml配置文件是Orderer节点的示例配置文件,具体路径在fabric-samples/config目录下。该orderer.yaml示例配置文件***指定了如下五大部分内容。
1.General部分
General部分是orderer.yaml配置文件的基础配置信息部分,主要指定配置如下:
LedgerType指定分类账本类型。
ListenAddress与ListenPort指定节点监听地址及端口号。
TLS部分指定是否启用TLS验证、TLS证书、签名私钥、信任的根CA证书信息。
Keepalive指定与客户端的连接信息。
LogLevel与LogFormat指定日志级别与日志输出格式。
GenesisMethod、GenesisProfile、GenesisFile指定生成初始区块相关的信息。
LocalMSPDir与LocalMSPID指定MSP目录所在路径及MSP的ID。
BCCSP部分主要指定区块链的加密实现方式,默认为SW(SoftWare),即软件基础的加密方式。
详细配置信息参考如下:
General:
LedgerType: file # 指定账本类型(可选file、RAM、json)
ListenAddress: 127.0.0.1 # 监听地址
ListenPort: 7050 # 监听端口号
TLS: # GRPC服务器的TLS设置
Enabled: false # 默认不启用
PrivateKey: tls/server.key # 签名的私钥文件
Certificate: tls/server.crt # 证书文件
RootCAs: # 可信任的根CA证书
- tls/ca.crt
ClientAuthRequired: false
ClientRootCAs:
Keepalive: # GRPC服务器的激活设置
ServerMinInterval: 60s # 客户机ping之间的最小允许时间
ServerInterval: 7200s # 连接到客户机的ping之间的时间
ServerTimeout: 20s # 服务器等待响应的超时时间
LogLevel: info
LogFormat: '%{color}%{time:2006-01-02 15:04:05.000 MST} [%{module}]
%{shortfunc} -> %{level:.4s} %{id:03x}%{color:reset} %{message}'
GenesisMethod: provisional # 生成初始区块的提供方式(可选provisional、file)
GenesisProfile: SampleInsecureSolo # 用于动态生成初始区块的概要
GenesisFile: genesisblock # 生成初始区块的配置文件
LocalMSPDir: msp # 本地MSP目录
LocalMSPID: SampleOrg # MSP ID
Profile: # 是否为Go"profiling"配置启用HTTP服务
Enabled: false
Address: 0.0.0.0:6060
BCCSP: # 区块链加密实现
Default: SW # 默认使用SW
SW:
Hash: SHA2
Security: 256
FileKeyStore:
KeyStore:
Authentication: # 与身份验证相关的配置
TimeWindow: 15m # 当前服务器时间与客户端请求消息中
# 指定的客户端时间差异
2.FileLedger部分
如果指定分类账本类型为文件类型,则通过FileLedger部分配置文件账本的相关信息。
Location指定区块链的本地存储路径。
Prefix指定临时空间中的前缀名称(未指定Location时)。
参考配置如下:
FileLedger:
Location: /var/hyperledger/production/orderer # 区块存储路径
Prefix: hyperledger-fabric-ordererledger # 在临时空间中生成分类
# 目录时使用的前缀
3.RAMLedger部分
如果分类账本指定不使用文件账本类型,而是内存账本类型时,则需要通过HistorySize属性指定在内存中保存区块的最大数量。参考配置如下:
RAMLedger:
HistorySize: 1000 # 如果设置为保存在内存中,分类账本最大保留的块的数量
4.Kafka部分
如果Orderer服务使用Kafka实现排序服务,则进行相关的配置信息指定:
Retry指定连接到Kafka的重试请求信息。
Verbose指定是否启用日志记录。
TLS指定Orderer连接到Kafka的TLS相关设置,包括是否启动TLS,指定TLS密钥、证书及可信任的CA根证书。
Version指定Kafka的版本信息。
具体参考配置信息如下:
Kafka:
Retry: # 无法建立到Kafka集群的连接时的重试请求
ShortInterval: 5s # 重试时间间隔
ShortTotal: 10m # 重试的总时间
LongInterval: 5m # 重试失败后再次发送重试的时间间隔
LongTotal: 12h # 重试的最长总时间
NetworkTimeouts: # 网络超时设置
DialTimeout: 10s
ReadTimeout: 10s
WriteTimeout: 10s
Metadata: # 请求领导人选举时影响元数据的设置
RetryBackoff: 250ms # 指定重试的最大时间
RetryMax: 3 # 重试的最大次数
Producer: # 向Kafka集群发送消息失败的设置
RetryBackoff: 100ms # 指定重试的最大时间
RetryMax: 3 # 重试的最大次数
Consumer: # 向Kafka集群读取消息失败的设置
RetryBackoff: 2s # 指定重试的最大时间
Verbose: false # 是否为与Kafka集群的交互启用日志记录
TLS: # Orderer连接到Kafka集群的TLS设置
Enabled: false # 连接到Kafka集群时是否使用TLS
PrivateKey:
Certificate:
RootCAs:
Version: # Kafka版本(未指定时默认值为0.10.2.0)
5.Debug部分
此部分配置信息相对简单,主要指定广播服务与交付服务的请求保存目录,参考如下:
Debug:
BroadcastTraceDir: # 对广播服务的每个请求写入此目录中的文件
DeliverTraceDir: # 对交付服务的每个请求写入此目录中的文件
FAQ
这些配置文件的内容需要全部都记下吗?
不需要死记硬背,重要的是理解这些配置信息都指定了哪些重要内容。
- 点赞
- 收藏
- 关注作者
评论(0)