Hyperledger Fabric - Невозможно запустить сеть с ансамблем Four Kafka и Three Zookeeper - PullRequest
0 голосов
/ 25 марта 2019

Я пытаюсь настроить сеть из 2 организаций, каждая из которых имеет двух пиров.Третья организация, имеющая 2 узла заказа с ансамблем kakfa-zookeeper с 4 узлами kafka и 3 узлами zookeeper.

Ниже приведена соответствующая часть моего crypto-config.yaml файла:

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

Ниже приведена соответствующая часть моего configtx.yaml file:

- &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 и журналы заказа на изображении ниже:

enter image description here

И я получаю следующие журналы на консоли после 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}

Я пытался предоставить максимум информации, но все же, пожалуйста, дайте мне знать, если вам нужны журналы любого другого контейнера.Спасибо за ваше время.

1 Ответ

0 голосов
/ 02 апреля 2019

Я наконец-то смог решить эту проблему.В этих конфигурациях YAML не было ничего плохого.Проблема была в конфигурации докера, которой не хватало ресурсов, и странно то, что я не получил никакой ошибки, связанной с ресурсами, ни в одном файле журнала контейнеров.Итак, я только что увеличил настройки CPU и Memory в дополнительных конфигурациях докера, как показано ниже:

enter image description here

И после этих изменений конфигурации, моя сеть запустилась успешно и работает нормально.

Спасибо моему коллеге @Rafiq, который помог мне разобраться с этой проблемой.

...