【问题标题】:Hyperledger Fabric - Unable to Start Network with Four Kafka and Three Zookeeper EnsembleHyperledger Fabric - 无法使用四个 Kafka 和三个 Zookeeper 集合启动网络
【发布时间】:2019-03-25 16:04:40
【问题描述】:

我正在尝试建立一个由 2 个组织组成的网络,每个组织都有两个对等点。第三个组织有 2 个排序节点和 kakfa-zookeeper 集成,有 4 个 kafka 和 3 个 zookeeper 节点。

以下是我的 crypto-config.yaml 文件的相关部分:

OrdererOrgs:
  - Name: Orderer
    Domain: ordererOrg.example.com
    Template:
      Count: 2

以下是我的 configtx.yaml 文件的相关部分:

- &OrdererOrg

    Name: OrdererOrg
    ID: OrdererMSP
    MSPDir: crypto-config/ordererOrganizations/ordererOrg.example.com/msp
    Policies:
        Readers:
            Type: Signature
            Rule: "OR('OrdererMSP.member')"
        Writers:
            Type: Signature
            Rule: "OR('OrdererMSP.member')"
        Admins:
            Type: Signature
            Rule: "OR('OrdererMSP.admin')"
      .................
Orderer: &OrdererDefaults

OrdererType: kafka
Addresses:
    - orderer0.ordererOrg.example.com:7050
    - orderer1.ordererOrg.example.com:7040
BatchTimeout: 2s
BatchSize:
    MaxMessageCount: 10
    AbsoluteMaxBytes: 99 MB
    PreferredMaxBytes: 512 KB

Kafka:
    Brokers:
        - kafka0.ordererOrg.example.com:9092
        - kafka1.ordererOrg.example.com:9092
        - kafka2.ordererOrg.example.com:9092
        - kafka3.ordererOrg.example.com:9092
...............

以下是我的 Docker 基础文件的相关部分:

zookeeper:
    image: hyperledger/fabric-zookeeper
    environment:
      - ZOO_SERVERS=server.1=zookeeper0.ordererOrg.example.com:2888:3888 server.2=zookeeper1.ordererOrg.example.com:2888:3888 server.3=zookeeper2.ordererOrg.example.com:2888:3888
    restart: always

kafka:
    image: hyperledger/fabric-kafka
    restart: always
    environment:
      - KAFKA_MESSAGE_MAX_BYTES=103809024 # 99 * 1024 * 1024 B
      - KAFKA_REPLICA_FETCH_MAX_BYTES=103809024 # 99 * 1024 * 1024 B
      - KAFKA_UNCLEAN_LEADER_ELECTION_ENABLE=false
      - KAFKA_MIN_INSYNC_REPLICAS=2
      - KAFKA_DEFAULT_REPLICATION_FACTOR=3
      - KAFKA_ZOOKEEPER_CONNECT=zookeeper0.ordererOrg.example.com:2181,zookeeper1.ordererOrg.example.com:2181,zookeeper2.ordererOrg.example.com:2181

以下是我的 Docker Compose 文件的相关部分:

zookeeper0.ordererOrg. example.com:
    container_name: zookeeper0.ordererOrg.example.com
    extends:
      file: base/kafka-base.yaml
      service: zookeeper
    environment:
      - ZOO_MY_ID=1
    ports:
      - '2181:2181'
      - '2888:2888'
      - '3888:3888'
    networks:
      - byfn

  kafka0.ordererOrg.example.com:
    container_name: kafka0.ordererOrgvodworks.example.com
    extends:
      file: base/kafka-base.yaml
      service: kafka
    depends_on:
      - zookeeper0.ordererOrg.example.com
      - zookeeper1.ordererOrg.example.com
      - zookeeper2.ordererOrg.example.com
    environment:
      - KAFKA_BROKER_ID=0
    ports:
      - '9092:9092'
      - '9093:9093'
    networks:
      - byfn
----------------------- 
Note: The same structure is being followed for:
    - zookeeper1.ordererOrg. example.com
    - zookeeper2.ordererOrg. example.com
And
    - kafka1.ordererOrg.example.com
    - kafka2.ordererOrg.example.com
    - kafka3.ordererOrg.example.com

当我运行network start 命令时,我收到以下错误消息:

✖ 开始业务网络定义。这可能需要一分钟... 错误:尝试启动业务网络时出错。错误:无效 来自任何同行的回应。来自尝试的对等通信的响应是 错误:错误:REQUEST_TIMEOUT

当我再次运行相同的network start 命令时,我得到以下信息:

✖ 开始业务网络定义。这可能需要一分钟... 错误:尝试启动业务网络时出错。错误:无效 来自任何同行的回应。来自尝试的对等通信的响应是 错误:错误:链码注册失败:超时过期而 交易的起始链码 tt_poc:0.0.1

并且图像文件也没有针对链代码(BNA 文件)创建,您可以在下图中看到 ccenv 容器和排序日志:

peer channel create 命令之后,我在控制台上也收到了以下日志,尽管通道已成功创建:

2019-03-25 15:20:34.567 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and rderer connections initialized 
2019-03-25 15:20:34.956 UTC [cli.common] readBlock -> INFO 002 Got status: &{SERVICE_UNAVAILABLE}

我试图提供最多的信息,但如果您还需要任何其他容器的日志,请告诉我。感谢您的宝贵时间。

【问题讨论】:

    标签: docker hyperledger-fabric hyperledger hyperledger-composer


    【解决方案1】:

    我终于能够解决这个问题。这些 YAML 配置没有任何问题。问题在于缺少资源的 docker 配置,奇怪的是我在任何容器日志文件中都没有收到任何与资源相关的错误。所以,我只是增加了 docker 高级配置中的 CPUsMemory 设置,如下所示:

    在这些配置更改之后,我的网络成功启动并正常工作。

    感谢我的同事@Rafiq 帮助我解决了这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多