Развернуть BNA в многоузловой сети, работающей в SWARM (оверлей) - PullRequest
0 голосов
/ 30 августа 2018

Проблема: мы пытаемся развернуть bna в многоузловой сети , которая работает в SWARM .

Мы используем Hyperledger Composer для создания цепного кода.

У нас есть две виртуальные машины, скажем, VM1 и VM2 VM1 и VM2 подключены через SWARM, оба в качестве менеджеров . Мы настроили имя роя наложения под названием my-net

Все виртуальные контейнеры VM1 развернуты в моей сети. - orderer.example.com - ca.example.com - peer0.org1.example.com - couchdb0

В VM2 эти док-контейнеры развернуты в моей сети - peer1.org1.example.com - couchdb1

Теперь наш connection.json выглядит следующим образом. Который используется для создания карты PeerAdmin.

{
    "name": "hlfv1",
    "x-type": "hlfv1",
    "x-commitTimeout": 300,
    "version": "1.0.0",
    "client": {
        "organization": "Org1",
        "connection": {
            "timeout": {
                "peer": {
                    "endorser": "300",
                    "eventHub": "300",
                    "eventReg": "300"
                },
                "orderer": "300"
            }
        }
    },
    "channels": {
        "composerchannel": {
            "orderers": [
                "orderer.example.com"
            ],
            "peers": {
                "peer0.org1.example.com": {},
        "peer1.org1.example.com": {}
            }
        }
    },
    "organizations": {
        "Org1": {
            "mspid": "OrgMSP",
            "peers": [
                "peer0.org1.example.com",
        "peer1.org1.example.com"
            ],
            "certificateAuthorities": [
                "ca.example.com"
            ]
        }
    },
    "orderers": {
        "orderer.example.com": {
            "url": "grpc://<pee1IP>:7050"
        }
    },
    "peers": {
        "peer0.org1.example.com": {
            "url": "grpc://<pee1IP>:7051",
            "eventUrl": "grpc://<pee1IP>:7053"
        },
    "peer1.org1.example.com": {
            "url": "grpc://<pee2IP>:8051",
            "eventUrl": "grpc://<pee2IP>:8053"
        }
    },
    "certificateAuthorities": {
        "ca.example.com": {
            "url": "http://<pee1IP>:7054",
            "caName": "ca.example.com"
        }
    }
}

Ну, все работает, когда у нас одна виртуальная машина, и мы можем успешно развернуть bna в сети. Но когда мы добавляем другую виртуальную машину в my-net, мы не можем установить bna в сети

Мы думаем, что не можем указать правильный IP-адрес в файле connection.json, из-за которого у нас не получается.

Что нужно отметить: Мы можем создать канал на Peer0 и можем успешно соединить peer0 и peer1 в одном и том же канале. Мы думаем, что это может быть проблема connection.json, но мы не можем понять ошибку.

Это ошибка, которую мы видим при установке BNA

Установка бизнес-сети. Это может занять минуту ... Ошибка: ошибка пытаюсь установить бизнес сеть. Ошибка: нет действительных ответов от любого сверстники. Ответ от попытки одноранговых коммуникаций был ошибкой: Ошибка: 14 НЕДОСТУПНО: Ошибка подключения

Ответы [ 2 ]

0 голосов
/ 11 сентября 2018

Попробуйте изменить значение каналов следующим образом:

"channels": {
    "composerchannel": {
        "orderers": [
            "orderer.example.com"
        ],
        "peers": {
            "peer0.org1.example.com": {
                "endorsingPeer": true,
                "chaincodeQuery": true,
                "eventSource": true
            },
            "peer1.org1.example.com": {
                "endorsingPeer": true,
                "chaincodeQuery": true,
                "eventSource": true
            }
        }
    }
}
0 голосов
/ 11 сентября 2018

Я имел дело с такого рода проблемами, используя Docker Swarm. Чтобы иметь возможность подключать и запускать этот вид инфраструктуры с использованием другого хоста, я теперь использую Rancher для управления сетевым взаимодействием между док-контейнерами. Надеюсь, это поможет вам.

...