Ошибка при использовании постоянного источника данных с помощью mongodb ini hyperledger composer - PullRequest
0 голосов
/ 29 августа 2018

Я пытаюсь использовать постоянный источник данных, используя mongoDB в компиляторе hyperledger для капли UBUNTU но после запуска сервера rest и den после выдачи команды docker logs -f rest я получаю следующую ошибку (я предоставил ссылку на изображение)

webuser@ubuntu16:~$ docker logs -f rest
    [2018-08-29T12:38:31.278Z] PM2 log: Launching in no daemon mode
    [2018-08-29T12:38:31.351Z] PM2 log: Starting execution sequence in -fork mode- for app name:composer-rest-server id:0
    [2018-08-29T12:38:31.359Z] PM2 log: App name:composer-rest-server id:0 online
    WARNING: NODE_APP_INSTANCE value of '0' did not match any instance config file names.
    WARNING: See https://github.com/lorenwest/node-config/wiki/Strict-Mode
    Discovering types from business network definition ...
    (node:15) DeprecationWarning: current URL string parser is deprecated, and will be removed in a future version. To use the new parser, pass option { useNewUrlParser: true } to MongoClient.connect.
    Connection fails: Error: Error trying to ping. Error: Failed to connect before the deadline
    It will be retried for the next request.
    Exception: Error: Error trying to ping. Error: Failed to connect before the deadline
    Error: Error trying to ping. Error: Failed to connect before the deadline
        at _checkRuntimeVersions.then.catch (/home/composer/.npm-global/lib/node_modules/composer-rest-server/node_modules/composer-connector-hlfv1/lib/hlfconnection.js:806:34)
        at <anonymous>
    [2018-08-29T12:38:41.021Z] PM2 log: App [composer-rest-server] with id [0] and pid [15], exited with code [1] via signal [SIGINT]
    [2018-08-29T12:38:41.024Z] PM2 log: Starting execution sequence in -fork mode- for app name:composer-rest-server id:0
    [2018-08-29T12:38:41.028Z] PM2 log: App name:composer-rest-server id:0 online
    WARNING: NODE_APP_INSTANCE value of '0' did not match any instance config file names.
    WARNING: See https://github.com/lorenwest/node-config/wiki/Strict-Mode
    Discovering types from business network definition ...
    (node:40) DeprecationWarning: current URL string parser is deprecated, and will be removed in a future version. To use the new parser, pass option { useNewUrlParser: true } to MongoClient.connect.
    Connection fails: Error: Error trying to ping. Error: Failed to connect before the deadline

    It will be retried for the next request.

Я не понимаю, в чем проблема и что я делаю неправильно, потому что я с успехом выполнил все шаги в документе композитора hyperledger ....

Это потому, что я использую его на капле ubuntu .... ?? кто-нибудь помочь

EDIT

Я выполнил все шаги, упомянутые в этого урока но вместо использования аутентификации Google я использую аутентификацию github. Также я изменил свой локальный хост на ip моей капли ubuntu в файле connection.json, а также в этой команде

sed -e '/ localhost: 7051 / peer0.org1.example.com: 7051 /' -e '/ localhost: 7053 / peer0.org1.example.com: 7053 /' -e 's / localhost : 7054 / ca.org1.example.com: 7054 / '-e' / localhost: 7050 / orderer.example.com: 7050 / '<$HOME/.composer/cards/restadmin@trade-network/connection.json > /tmp/connection.json && cp -p /tmp/connection.json $HOME/.composer/cards/restadmin@trade-network/

bt пока безуспешно! я получаю следующую ошибку сейчас .....

webuser @ ubuntu16: ~ $ docker logs rest [2018-08-30T05: 03: 02.916Z] Журнал PM2: запуск в режиме без демона [2018-08-30T05: 03: 02.989Z] Журнал PM2: запуск последовательности выполнения в режиме -fork для имени приложения: идентификатор composer-rest-server: 0 [2018-08-30T05: 03: 02.997Z] Журнал PM2: Имя приложения: идентификатор composer-rest-server: 0 онлайн ВНИМАНИЕ: значение NODE_APP_INSTANCE, равное 0, не соответствует ни одному из имен файлов конфигурации экземпляра. ВНИМАНИЕ: см. https://github.com/lorenwest/node-config/wiki/Strict-Mode Обнаружение типов из определения бизнес-сети ... (узел: 15) DeprecationWarning: текущий синтаксический анализатор строки URL устарел и будет удален в будущей версии. Чтобы использовать новый синтаксический анализатор, передайте опцию {useNewUrlParser: true} в MongoClient.connect. Обнаружение возвратных транзакций .. Обнаруженные типы из определения бизнес-сети Создание схем для всех типов в определении бизнес-сети ... Сгенерированные схемы для всех типов в определении бизнес-сети Добавление схем для всех типов в Loopback ... Добавлены схемы для всех типов в Loopback SyntaxError: неожиданная строка в JSON в позиции 92 в JSON.parse () на Promise.then (/home/composer/.npm-global/lib/node_modules/composer-rest-server/server/server.js:141:34) в at process._tickDomainCallback (внутренняя / process / next_tick.js: 228: 7) [2018-08-30T05: 03: 09.942Z] Журнал PM2: приложение [composer-rest-server] с идентификатором [0] и pid [15], выход с кодом 1 по сигналу [SIGINT]

1 Ответ

0 голосов
/ 29 августа 2018

Эта ошибка Error trying to ping. Error: Failed to connect before the deadline означает, что composer-rest-server в контейнере не может видеть / подключаться к базовой Fabric по URL-адресам в файле connection.json карты, которую вы используете для запуска сервера REST.

Есть ряд причин, по которым:

  • Ткань не запущена
  • Вы используете Business Network Card с localhost в URL-адресах connection.json, а localhost просто перенаправляет обратно в контейнер остатка.
  • Ваш контейнер отдыха запущен на другом сетевом мосту Docker с вашими контейнерами Fabric и не может подключиться к Fabric.

Следовали ли вы этому руководству в документации Composer? Если следовать им полностью, это позволит избежать трех проблем, упомянутых выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...