首页 > 解决方案 > 筏子出现“由于同意者而拒绝 IP:port 的交付请求”错误

问题描述

我在云上运行一个多组织设置,包括2 Orgs,4 Peers(2 peers per Org)3 ordering nodes. 所有对等节点和节点orderer0都运行在DigitalOcean droplet. orderer2orderer3节点分别在AWS和上运行GCP。因为ordering service我正在使用Raft并被orderer2选为Leader. 为了创建链代码,我正在对等端执行一个(存在于脚本目录channel下的 byfn 中)。成功执行的脚本,即创建通道(使用 orderer0 节点),由所有对等节点加入,并成功执行链代码的安装/实例化/查询。但是当我检查日志时,我发现了以下错误。installing/instantiating/queryingscripts.shorderer0

2019-11-15 13:33:08.814 UTC [common.deliver] DeliverBlocks -> WARN 04a [channel: mychannel] 由于同意错误,拒绝 139.59.7.201:59304 的交付请求

2019-11-15 13:33:08.815 UTC [comm.grpc.server] 1 -> INFO 04b 流式调用完成 grpc.service=orderer.AtomicBroadcast grpc.method=Deliver grpc.peer_address=139.59.7.201:59304 grpc.code =OK grpc.call_duration=201.373401ms

几秒钟后

2019-11-15 13:33:09.654 UTC [orderer.consensus.etcdraft] 运行-> INFO 058 raft.node: 1 在第 2 学期选举领导者 2 通道=mychannel 节点=1

2019-11-15 13:33:09.657 UTC [orderer.consensus.etcdraft] serveRequest -> INFO 059 Raft 领导者更改:0 -> 2 channel=mychannel node=1

2019-11-15 13:33:09.865 UTC [common.deliver] 句柄 -> WARN 05a 从 139.59.7.201:59314 读取错误:rpc 错误:代码 = 已取消 desc = 上下文已取消

docker-compose-orderer.yaml

version: '2'

networks: 
  byfn:

services:

  orderer.example.com:
    container_name: orderer.example.com
    image: hyperledger/fabric-orderer:1.4.3
    restart: always
    environment:
      - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${COMPOSE_PROJECT_NAME}_byfn
      - ORDERER_HOST=orderer.example.com
      - ORDERER_GENERAL_LOGLEVEL=info
      - FABRIC_LOGGING_SPEC=debug
      - ORDERER_GENERAL_LISTENADDRESS=0.0.0.0
      - ORDERER_GENERAL_LISTENPORT=7050
      - ORDERER_GENERAL_GENESISMETHOD=file
      - ORDERER_GENERAL_GENESISFILE=/var/hyperledger/orderer/orderer.genesis.block
      - ORDERER_GENERAL_LOCALMSPID=OrdererMSP
      - ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp
      - ORDERER_GENERAL_GENESISPROFILE=OrdererOrg
      - CONFIGTX_ORDERER_ADDRESSES=[127.0.0.1:7050]

        # enabled TLS
      - ORDERER_GENERAL_TLS_ENABLED=true
      - ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key
      - ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt
      - ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
      #- ORDERER_KAFKA_TOPIC_REPLICATIONFACTOR=1
      #- ORDERER_KAFKA_VERBOSE=true
      - ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE=/var/hyperledger/orderer/tls/server.crt
      - ORDERER_GENERAL_CLUSTER_CLIENTPRIVATEKEY=/var/hyperledger/orderer/tls/server.key
      - ORDERER_GENERAL_CLUSTER_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
      - CORE_CHAINCODE_LOGGING_LEVEL=DEBUG
      - CORE_CHAINCODE_LOGGING_SHIM=DEBUG
      - ORDERER_TLS_CLIENTROOTCAS_FILES=/var/hyperledger/users/Admin@example.com/tls/ca.crt
      - ORDERER_TLS_CLIENTCERT_FILE=/var/hyperledger/users/Admin@example.com/tls/client.crt
      - ORDERER_TLS_CLIENTKEY_FILE=/var/hyperledger/users/Admin@example.com/tls/client.key
      - GODEBUG=netdns=go

    extra_hosts:
      - "peer0.org1.example.com:139.59.13.3"
      - "peer1.org1.example.com:139.59.13.119"
      - "peer0.org2.example.com:139.59.7.201"
      - "peer1.org2.example.com:139.59.24.225"
      - "orderer2.example.com:3.14.67.48"
      - "orderer3.example.com:34.69.118.13"

    working_dir: /opt/gopath/src/github.com/hyperledger/fabric
    command: orderer
    volumes:
      - ./channel-artifacts/:/var/hyperledger/configs
      - ./channel-artifacts/genesis.block:/var/hyperledger/orderer/orderer.genesis.block
      - ./crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp:/var/hyperledger/orderer/msp
      - ./crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/:/var/hyperledger/orderer/tls
      - ./crypto-config/ordererOrganizations/example.com/users:/var/hyperledger/users
        #- orderer.example.com:/var/hyperledger/production/orderer
    ports:
      - 7050:7050
    networks: 
      - byfn

docker-compose-orderer2.yaml

version: '2'

networks: 
  byfn:

services:

  orderer2.example.com:
    container_name: orderer2.example.com
    image: hyperledger/fabric-orderer:1.4.3
    restart: always
    environment:
      - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${COMPOSE_PROJECT_NAME}_byfn
      - ORDERER_HOST=orderer2.example.com
      - ORDERER_GENERAL_LOGLEVEL=info
      - FABRIC_LOGGING_SPEC=debug
      - ORDERER_GENERAL_LISTENADDRESS=0.0.0.0
      - ORDERER_GENERAL_LISTENPORT=7050
      - ORDERER_GENERAL_GENESISMETHOD=file
      - ORDERER_GENERAL_GENESISFILE=/var/hyperledger/orderer/orderer.genesis.block
      - ORDERER_GENERAL_LOCALMSPID=OrdererMSP
      - ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp
      - ORDERER_GENERAL_GENESISPROFILE=OrdererOrg
      - CONFIGTX_ORDERER_ADDRESSES=[127.0.0.1:7050]

        # enabled TLS
      - ORDERER_GENERAL_TLS_ENABLED=true
      - ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key
      - ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt
      - ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
      #- ORDERER_KAFKA_TOPIC_REPLICATIONFACTOR=1
      #- ORDERER_KAFKA_VERBOSE=true
      - ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE=/var/hyperledger/orderer/tls/server.crt
      - ORDERER_GENERAL_CLUSTER_CLIENTPRIVATEKEY=/var/hyperledger/orderer/tls/server.key
      - ORDERER_GENERAL_CLUSTER_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
      - CORE_CHAINCODE_LOGGING_LEVEL=DEBUG
      - CORE_CHAINCODE_LOGGING_SHIM=DEBUG
      - ORDERER_TLS_CLIENTROOTCAS_FILES=/var/hyperledger/users/Admin@example.com/tls/ca.crt
      - ORDERER_TLS_CLIENTCERT_FILE=/var/hyperledger/users/Admin@example.com/tls/client.crt
      - ORDERER_TLS_CLIENTKEY_FILE=/var/hyperledger/users/Admin@example.com/tls/client.key
      - GODEBUG=netdns=go

    extra_hosts:
      - "peer0.org1.example.com:139.59.13.3"
      - "peer1.org1.example.com:139.59.13.119"
      - "peer0.org2.example.com:139.59.7.201"
      - "peer1.org2.example.com:139.59.24.225"
      - "orderer.example.com:139.59.1.164"
      - "orderer2.example.com:3.14.67.48"
      - "orderer3.example.com:34.69.118.13"

    working_dir: /opt/gopath/src/github.com/hyperledger/fabric
    command: orderer
    volumes:
      - ./channel-artifacts/:/var/hyperledger/configs
      - ./channel-artifacts/genesis.block:/var/hyperledger/orderer/orderer.genesis.block
      - ./crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/msp:/var/hyperledger/orderer/msp
      - ./crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/tls/:/var/hyperledger/orderer/tls
      - ./crypto-config/ordererOrganizations/example.com/users:/var/hyperledger/users
        #- orderer.example.com:/var/hyperledger/production/orderer
    ports:
      - 7050:7050
    networks: 
      - byfn

docker-compose-orderer3.yaml

version: '2'

networks: 
  byfn:

services:

  orderer3.example.com:
    container_name: orderer3.example.com
    image: hyperledger/fabric-orderer:1.4.3
    restart: always
    environment:
      - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${COMPOSE_PROJECT_NAME}_byfn
      - ORDERER_HOST=orderer3.example.com
      - ORDERER_GENERAL_LOGLEVEL=info
      - FABRIC_LOGGING_SPEC=debug
      - ORDERER_GENERAL_LISTENADDRESS=0.0.0.0
      - ORDERER_GENERAL_LISTENPORT=7050
      - ORDERER_GENERAL_GENESISMETHOD=file
      - ORDERER_GENERAL_GENESISFILE=/var/hyperledger/orderer/orderer.genesis.block
      - ORDERER_GENERAL_LOCALMSPID=OrdererMSP
      - ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp
      - ORDERER_GENERAL_GENESISPROFILE=OrdererOrg
      - CONFIGTX_ORDERER_ADDRESSES=[127.0.0.1:7050]

        # enabled TLS
      - ORDERER_GENERAL_TLS_ENABLED=true
      - ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key
      - ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt
      - ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
      #- ORDERER_KAFKA_TOPIC_REPLICATIONFACTOR=1
      #- ORDERER_KAFKA_VERBOSE=true
      - ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE=/var/hyperledger/orderer/tls/server.crt
      - ORDERER_GENERAL_CLUSTER_CLIENTPRIVATEKEY=/var/hyperledger/orderer/tls/server.key
      - ORDERER_GENERAL_CLUSTER_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
      - CORE_CHAINCODE_LOGGING_LEVEL=DEBUG
      - CORE_CHAINCODE_LOGGING_SHIM=DEBUG
      - ORDERER_TLS_CLIENTROOTCAS_FILES=/var/hyperledger/users/Admin@example.com/tls/ca.crt
      - ORDERER_TLS_CLIENTCERT_FILE=/var/hyperledger/users/Admin@example.com/tls/client.crt
      - ORDERER_TLS_CLIENTKEY_FILE=/var/hyperledger/users/Admin@example.com/tls/client.key
      - GODEBUG=netdns=go
    extra_hosts:
      - "peer0.org1.example.com:139.59.13.3"
      - "peer1.org1.example.com:139.59.13.119"
      - "peer0.org2.example.com:139.59.7.201"
      - "peer1.org2.example.com:139.59.24.225"
      - "orderer.example.com:139.59.1.164"
      - "orderer2.example.com:3.14.67.48"
      - "orderer3.example.com:34.69.118.13"

    working_dir: /opt/gopath/src/github.com/hyperledger/fabric
    command: orderer
    volumes:
      - ./channel-artifacts/:/var/hyperledger/configs
      - ./channel-artifacts/genesis.block:/var/hyperledger/orderer/orderer.genesis.block
      - ./crypto-config/ordererOrganizations/example.com/orderers/orderer3.example.com/msp:/var/hyperledger/orderer/msp
      - ./crypto-config/ordererOrganizations/example.com/orderers/orderer3.example.com/tls/:/var/hyperledger/orderer/tls
      - ./crypto-config/ordererOrganizations/example.com/users:/var/hyperledger/users
        #- orderer.example.com:/var/hyperledger/production/orderer
    ports:
      - 7050:7050
    networks: 
      - byfn

docker-compose-orderer.yaml

version: '2'

networks:
  byfn:

services:

  orderer.example.com:
    container_name: orderer.example.com
    image: hyperledger/fabric-orderer:1.4.3
    restart: always
    environment:
      - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${COMPOSE_PROJECT_NAME}_byfn
      - ORDERER_HOST=orderer.example.com
      - ORDERER_GENERAL_LOGLEVEL=info
      - FABRIC_LOGGING_SPEC=info
      - ORDERER_GENERAL_LISTENADDRESS=0.0.0.0
      - ORDERER_GENERAL_LISTENPORT=7050
      - ORDERER_GENERAL_GENESISMETHOD=file
      - ORDERER_GENERAL_GENESISFILE=/var/hyperledger/orderer/orderer.genesis.block
      - ORDERER_GENERAL_LOCALMSPID=OrdererMSP
      - ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp
      - ORDERER_GENERAL_GENESISPROFILE=OrdererOrg
      - CONFIGTX_ORDERER_ADDRESSES=[127.0.0.1:7050]

        # enabled TLS
      - ORDERER_GENERAL_TLS_ENABLED=true
      - ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key
      - ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt
      - ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
      #- ORDERER_KAFKA_TOPIC_REPLICATIONFACTOR=1
      #- ORDERER_KAFKA_VERBOSE=true
      - ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE=/var/hyperledger/orderer/tls/server.crt
      - ORDERER_GENERAL_CLUSTER_CLIENTPRIVATEKEY=/var/hyperledger/orderer/tls/server.key
      - ORDERER_GENERAL_CLUSTER_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
      - CORE_CHAINCODE_LOGGING_LEVEL=DEBUG
      - CORE_CHAINCODE_LOGGING_SHIM=DEBUG
      - ORDERER_TLS_CLIENTROOTCAS_FILES=/var/hyperledger/users/Admin@example.com/tls/ca.crt
      - ORDERER_TLS_CLIENTCERT_FILE=/var/hyperledger/users/Admin@example.com/tls/client.crt
      - ORDERER_TLS_CLIENTKEY_FILE=/var/hyperledger/users/Admin@example.com/tls/client.key
      - GODEBUG=netdns=go

    extra_hosts:
      - "peer0.org1.example.com:139.59.13.3"
      - "peer1.org1.example.com:139.59.13.119"
      - "peer0.org2.example.com:139.59.7.201"
      - "peer1.org2.example.com:139.59.24.225"
      - "orderer2.example.com:3.14.67.48"
      - "orderer3.example.com:34.69.118.13"

    working_dir: /opt/gopath/src/github.com/hyperledger/fabric
    command: orderer
    volumes:
      - ./channel-artifacts/:/var/hyperledger/configs
      - ./channel-artifacts/genesis.block:/var/hyperledger/orderer/orderer.genesis.block
      - ./crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp:/var/hyperledger/orderer/msp
      - ./crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/:/var/hyperledger/orderer/tls
      - ./crypto-config/ordererOrganizations/example.com/users:/var/hyperledger/users
        #- orderer.example.com:/var/hyperledger/production/orderer
    ports:
      - 7050:7050
    networks:
      - byfn

orderer(orderer0) 节点日志 https://justpaste.it/49a1n

Orderer2 节点日志很大,因此共享链接 https://justpaste.it/6ro0v

orderer3 记录 https://justpaste.it/5e4j8

peer0org1 记录 https://justpaste.it/33rm5

peer1org1 记录 https://justpaste.it/1s2uz

peer0org2 记录 https://justpaste.it/6emlk

peer1org2 记录 https://justpaste.it/53fna

标签: hyperledger-fabrichyperledgerraft

解决方案


推荐阅读