问题描述
我的结构网络中有 3 个排序节点和 5 个对等节点。
并且我尝试在我的结构网络中使用 raft 共识,但我在订购者日志中遇到了这样的错误:
2021-04-03 07:13:03.556 UTC [orderer.consensus.etcdraft] logSendFailure -> DEBU 1dc6 Failed to send StepRequest to 3,because: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp 172.20.0.17:7548: connect: connection refused" channel=orderer-system-channel node=1
这里是docker-compose.yaml中三个orderer节点之一的关键设置:
- FABRIC_LOGGING_SPEC=debug
- ORDERER_GENERAL_LISTENADDRESS=0.0.0.0
- ORDERER_GENERAL_BOOTSTRAPMETHOD=file
- ORDERER_GENERAL_BOOTSTRAPFILE=/etc/hyperledger/fabric/genesis.block
- ORDERER_GENERAL_LOCALMSPID=OrdererMSP
- ORDERER_GENERAL_LOCALMSPDIR=/etc/hyperledger/msp/orderer
- ORDERER_GENERAL_TLS_ENABLED=true
- ORDERER_GENERAL_TLS_PRIVATEKEY=/etc/hyperledger/tls/orderer/server.key
- ORDERER_GENERAL_TLS_CERTIFICATE=/etc/hyperledger/tls/orderer/server.crt
- ORDERER_GENERAL_TLS_ROOTCAS=[/etc/hyperledger/tls/orderer/ca.crt]
- ORDERER_GENERAL_CLUSTER_LISTENADDRESS=0.0.0.0
- ORDERER_GENERAL_CLUSTER_LISTENPORT=7055
- ORDERER_GENERAL_CLUSTER_SERVERCERTIFICATE=/etc/hyperledger/tls/orderer/server.crt
- ORDERER_GENERAL_CLUSTER_SERVERPRIVATEKEY=/etc/hyperledger/tls/orderer/server.key
- ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE=/etc/hyperledger/tls/orderer/server.crt
- ORDERER_GENERAL_CLUSTER_CLIENTPRIVATEKEY=/etc/hyperledger/tls/orderer/server.key
- ORDERER_GENERAL_CLUSTER_ROOTCAS=[/etc/hyperledger/tls/orderer/ca.crt]
- ORDERER_GENERAL_TLS_CLIENTAUTHrequired
- ORDERER_GENERAL_TLS_CLIENTROOTCAS
working_dir: /opt/gopath/src/github.com/hyperledger/fabric
command: orderer
volumes:
- ../fabric/genesis.block:/etc/hyperledger/fabric/genesis.block
- ../fabric/organizations/ordererOrganizations/food.com/orderers/orderer1.food.com/msp:/etc/hyperledger/msp/orderer
- ../fabric/organizations/ordererOrganizations/food.com/orderers/orderer1.food.com/tls/:/etc/hyperledger/tls/orderer
- orderer1.food.com:/var/hyperledger/production/orderer
ports:
- 7050:7050
- 7550:7055
这是configtx.yaml中关于“Orderer”的关键设置:
Orderer: &OrdererDefaults
# Orderer Type: The orderer implementation to start
OrdererType: etcdraft
# Addresses used to be the list of orderer addresses that clients and peers
# Could connect to. However,this does not allow clients to associate orderer
# addresses and orderer organizations which can be useful for things such
# as TLS validation. The preferred way to specify orderer addresses is Now
# to include the OrdererEndpoints item in your org deFinition
Addresses:
- orderer1.food.com:7050
- orderer2.food.com:7049
- orderer3.food.com:7048
EtcdRaft:
Consenters:
- Host: orderer1.food.com
Port: 7550
ClientTLSCert: ../fabric/organizations/ordererOrganizations/food.com/orderers/orderer1.food.com/tls/server.crt
ServerTLSCert: ../fabric/organizations/ordererOrganizations/food.com/orderers/orderer1.food.com/tls/server.crt
- Host: orderer2.food.com
Port: 7549
ClientTLSCert: ../fabric/organizations/ordererOrganizations/food.com/orderers/orderer2.food.com/tls/server.crt
ServerTLSCert: ../fabric/organizations/ordererOrganizations/food.com/orderers/orderer2.food.com/tls/server.crt
- Host: orderer3.food.com
Port: 7548
ClientTLSCert: ../fabric/organizations/ordererOrganizations/food.com/orderers/orderer3.food.com/tls/server.crt
ServerTLSCert: ../fabric/organizations/ordererOrganizations/food.com/orderers/orderer3.food.com/tls/server.crt
BatchTimeout: 2s
BatchSize:
MaxMessageCount: 10
AbsoluteMaxBytes: 99 MB
PreferredMaxBytes: 512 KB
Organizations:
Policies:
Readers:
Type: ImplicitMeta
Rule: "ANY Readers"
Writers:
Type: ImplicitMeta
Rule: "ANY Writers"
Admins:
Type: ImplicitMeta
Rule: "MAJORITY Admins"
BlockValidation:
Type: ImplicitMeta
Rule: "ANY Writers"
这里是我的 crypto-config.yaml,用于为排序节点生成加密配置:
OrdererOrgs:
# ---------------------------------------------------------------------------
# Orderer
# ---------------------------------------------------------------------------
- Name: Orderer
Domain: food.com
EnableNodeOUs: true
Specs:
- Hostname: orderer1
SANS:
- localhost
- Hostname: orderer2
SANS:
- localhost
- Hostname: orderer3
SANS:
- localhost
有人知道如何解决这个问题吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)