2017-09-01 1 views
1

J'essaye d'installer le tissu hyperledger et le kafka orderer dans une seule VM par docker-composer. J'ai trouvé que ce n'est pas le cas lorsque j'utilise VM en mode réseau NAT. C'est un travail quand j'utilise VM dans le nœud du réseau Bridge. Ci-dessous le journal de la console:

orderer0.example.com | [sarama] 2017/09/01 14: 10: 49.471276 courtier.go: 96: Impossible de se connecter au courtier kafka3: 9092: composer tcp: délai d'attente 0/0 orderer0.example.com | [sarama] 2017/09/01 14: 10: 49.471339 client.go: 620: client/métadonnées a obtenu une erreur du courtier lors de l'extraction des métadonnées: composer tcp: délai d'attente 0/0 orderer0.example.com | [sarama] 2017/09/01 14: 10: 49.471350 config.go: 329: ClientID est la valeur par défaut de 'sarama', vous devriez envisager de le définir sur une application spécifique. orderer0.example.com | [sarama] 2017/09/01 14: 10: 49.471363 client.go: 601: client/métadonnées récupérant des métadonnées pour tous les sujets du courtier kafka0: 9092 orderer1.example.com | [sarama] 2017/09/01 14: 10: 49.581308 broker.go: 96: Impossible de se connecter au courtier kafka1: 9092: composer tcp: délai d'attente e/o orderer1.example.com | [sarama] 2017/09/01 14: 10: 49.581336 client.go: 620: client/métadonnées a obtenu une erreur du courtier lors de l'extraction des métadonnées: composer tcp: délai d'attente 0/ orderer1.example.com | [sarama] 2017/09/01 14: 10: 49.581344 config.go: 329: ClientID est la valeur par défaut de 'sarama', vous devriez envisager de le définir sur une application spécifique. orderer1.example.com | [sarama] 2017/09/01 14: 10: 49.581357 client.go: 601: client/métadonnées récupérant des métadonnées pour tous les sujets du courtier kafka3: 9092 orderer2.example.com | [sarama] 2017/09/01 14: 10: 50.633648 broker.go: 96: Impossible de se connecter au courtier kafka2: 9092: composer tcp: e/o timeout orderer2.example.com | [sarama] 2017/09/01 14: 10: 50.633691 client.go: 620: client/métadonnées a obtenu une erreur du courtier lors de l'extraction des métadonnées: composer tcp: délai d'attente 0/ orderer2.example.com | [sarama] 2017/09/01 14: 10: 50.633699 config.go: 329: ClientID est la valeur par défaut de 'sarama', vous devriez envisager de le définir sur une application spécifique. orderer2.example.com | [sarama] 2017/09/01 14: 10: 50.633713 client.go: 601: client/métadonnées récupérant des métadonnées pour tous les sujets du courtier kafka0: 9092 orderer0.example.com | [sarama] 2017/09/01 14: 10: 59.471960 courtier.go: 96: Impossible de se connecter au courtier kafka0: 9092: composer tcp: délai d'attente 0/ orderer0.example.com | [sarama] 2017/09/01 14: 10: 59.472069 client.go: 620: client/métadonnées a obtenu une erreur du courtier lors de l'extraction des métadonnées: composer tcp: délai d'attente 0/ orderer0.example.com | [sarama] 2017/09/01 14: 10: 59.472100 config.go: 329: ClientID est la valeur par défaut de 'sarama', vous devriez envisager de le paramétrer sur une application spécifique. orderer0.example.com | [sarama] 2017/09/01 14: 10: 59.472150 client.go: 601: client/métadonnées récupérant des métadonnées pour tous les sujets du courtier kafka2: 9092 orderer1.example.com | [sarama] 2017/09/01 14: 10: 59.581900 broker.go: 96: Impossible de se connecter au courtier kafka3: 9092: composer tcp: délai d'attente 0/ orderer1.example.com | [sarama] 2017/09/01 14: 10: 59.581927 client.go: 620: client/métadonnées a obtenu une erreur du courtier lors de l'extraction des métadonnées: composer tcp: délai d'attente 0/0 orderer1.example.com | [sarama] 2017/09/01 14: 10: 59.581935 config.go: 329: ClientID est la valeur par défaut de 'sarama', vous devriez envisager de le définir sur une application spécifique. orderer1.example.com | [sarama] 2017/09/01 14: 10: 59.581948 client.go: 601: client/métadonnées récupérant des métadonnées pour tous les sujets du courtier kafka0: 9092 orderer2.example.com | [sarama] 2017/09/01 14: 11: 00.635034 broker.go: 96: Impossible de se connecter au courtier kafka0: 9092: composer tcp: délai d'attente orderer2.example.com | [sarama] 2017/09/01 14: 11: 00.635106 client.go: 620: client/métadonnées a obtenu une erreur du courtier lors de l'extraction des métadonnées: composer tcp: délai d'attente 0/ orderer2.example.com | [sarama] 2017/09/01 14: 11: 00.635122 config.go: 329: ClientID est la valeur par défaut de 'sarama', vous devriez envisager de le définir sur une application spécifique. orderer2.example.com | [sarama] 2017/09/01 14: 11: 00.635157 client.go: 601: client/métadonnées récupérant des métadonnées pour tous les sujets du courtier kafka1: 9092 orderer0.example.com | [sarama] 2017/09/01 14: 11: 09.481998 courtier.go: 96: Échec de la connexion au courtier kafka2: 9092: cadran tcp: recherche kafka2 sur 127.0.0.11:53: cadran udp 127.0.0.11:53: i/o timeout orderer0.example.com | [sarama] 2017/09/01 14: 11: 09.482080 client.go: 620: client/métadonnées obtenu une erreur du courtier lors de l'extraction des métadonnées: composer tcp: rechercher kafka2 sur 127.0.0.11:53: composer udp 127.0.0.11:53: Délai d'attente E/S orderer0.example.com | [sarama] 2017/09/01 14: 11: 09.482172 config.go: 329: ClientID est la valeur par défaut de 'sarama', vous devriez envisager de le régler sur quelque chose d'spécifique à l'application. orderer0.example.com | [sarama] 2017/09/01 14: 11: 09.482194 client.go: 601: client/métadonnées récupérant des métadonnées pour tous les sujets du courtier kafka1: 9092 orderer1.example.com | [sarama] 2017/09/01 14: 11: 09.591512 broker.go: 96: Impossible de se connecter au courtier kafka0: 9092: composer tcp: rechercher kafka0 sur 127.0.0.11:53: composer udp 127.0.0.11:53: i/o timeout orderer1.example.com | [sarama] 2017/09/01 14: 11: 09.591542 client.go: 620: client/métadonnées a obtenu une erreur du courtier lors de l'extraction des métadonnées: composer tcp: rechercher kafka0 sur 127.0.0.11:53: composer udp 127.0.0.11:53: Délai d'attente E/S orderer1.example.com | [sarama] 2017/09/01 14: 11: 09.591549 config.go: 329: ClientID est la valeur par défaut de 'sarama', vous devriez envisager de le définir sur une application spécifique. orderer1.example.com | [sarama] 2017/09/01 14: 11: 09.591562 client.go: 601: client/métadonnées récupérant des métadonnées pour tous les sujets du courtier kafka2: 9092 orderer2.example.com | [sarama] 2017/09/01 14: 11: 10.635648 broker.go: 96: Impossible de se connecter au courtier kafka1: 9092: composer tcp: délai d'attente 0/ orderer2.example.com | [sarama] 2017/09/01 14: 11: 10.635798 client.go: 620: client/métadonnées a obtenu une erreur du courtier lors de l'extraction des métadonnées: composer tcp: délai d'attente 0/ orderer2.example.com | [sarama] 2017/09/01 14: 11: 10.635827 config.go: 329: ClientID est la valeur par défaut de 'sarama', vous devriez envisager de le définir sur une application spécifique.Hyperledger tissu 1.0 kafka installer. Il fonctionne sur VM (mode Bridge) mais ne fonctionne pas sur VM (NAT)

orderer2.exemple.com | [Sarama] 2017/09/01 14: 11: 10,635918 client.go: 601: métadonnées aller chercher le client/métadonnées pour tous les sujets de courtier kafka3: 9092

J'utilise le réseau de docker inspecter pour voir l'ip de kafka0 est ci-dessous, il est 172.22.0.11 ....

 "11eaffebfa5be61cfcaaa400b6a30c4da1b05df109d7b72f1f841ff7d0a57e06": { 
      "Name": "kafka0", 
      "EndpointID": "c19bcc0f152498e18c2602855e72da01fefd29fd57c7c3d7ff07f4397e2db6bf", 
      "MacAddress": "02:42:ac:16:00:0b", 
      "IPv4Address": "172.22.0.11/16", 
      "IPv6Address": "" 

},

Mais pourquoi orderer se connecter à kafka0 à 127.0.0.11? voir ci-dessous journal

Impossible de se connecter au courtier kafka0: 9092: composez tcp: recherche kafka0 sur 127.0.0.11:53: composez udp 127.0.0.11:53: i/o délai d'attente

Je ne comprends pas pourquoi l'acheteur regarde kafka0 dans 127.0.0.11 au lieu de 172.22.0.11. Tous les conteneurs se trouvaient dans le même réseau de dockers. J'ai eu double le confirmer par l'inspection du réseau de docker. Le journal est ci-dessous ...

[ { "Nom": "fabricdockercomposesvt_default", "Id": "4e8fac6babf5e119e12bb65cf9816be913a038e9f11bd06106f20af53abaa5dc", "Créé": « 2017-09-01T02: 59: 52,678519627-07: 00" , "Champ d'application": "local", "Driver": "pont", "EnableIPv6": false, "IPAM": { "Driver": "default", "options": null, "Config": [{ "sous-réseau": "172.22.0.0/16", "Gateway": « 172.22.0.1" } ] }, "interne": false, "connectable": false, "conteneurs": { "05f86e2c5f9ab82aa17063d84330a8026c730b21c547567855b81599243c3f0d": { "Nom": "peer1.org1.example.com", "EndpointID": "932343ee2303ee87d056f2089305994ab750efc59d0f2ebb0e961e4e940da0eb", "MacAddress": "02: 42: ac: 16: 00: 02", "IPv4Address": "172.22.0.2/16", "IPv6Address": ""} , "0e40b56fafb4a53c2efc23e0121c3447218fda02bd0fc50a7b3cf97777a3e552": { "Nom": "ca_peerOrg1", "En dpointID ": "6f794c84ab7585bc979a815fe7b510f811cfefd0a8c87c51c4b3fb5e0d14c23e", "MacAddress": "02: 42: ac: 16: 00: 08", "IPv4Address": "172.22.0.8/16", "IPv6Address": ""} , "11eaffebfa5be61cfcaaa400b6a30c4da1b05df109d7b72f1f841ff7d0a57e06": { "Nom": "kafka0", "EndpointID": "c19bcc0f152498e18c2602855e72da01fefd29fd57c7c3d7ff07f4397e2db6bf", "MacAddress": "02: 42: ac: 16: 00: 0b", "IPv4Address": « 172,22. 0,11/16" , "adresse_ipv6": ""}, "239381cb14521601efc9dccc9ae96f21b8a7883cc6c1174679e0e59d9f284771": { "Nom": "orderer1.example.com", "EndpointID": "995349ac618b3ce3099d3b8de5466077a08dc48196651fd7eae2bb8ebe29e013", "MacAddress": "02: 42: ac: 16: 00: 0f", "IPv4Address": "172.22.0.15/16", "IPv6Address": ""} , "27b4ef727aa9bf189e9b7262d972c627cc77c60407f1e669412b431d6bd48949": { "Nom": "kafka2", "EndpointID": "294e7d9d79da12e35db42d870a9ed78136d19dad5c67bc3e301da4a52a34efde", "MacAddress": "02: 42: ac: 16: 00: 0d", "IPv4Address": " "IPv6Address": "" ", " 3959d50127280b311e358668b33b4718c18540c0c7695a2a7bbdd07bbcaf373a ": "Zookeeper2", "EndpointID": "4e3d9c0d905190bbe24e5e1c9579d4046cb2b8ff33d4a57b23af4a4cd6eddf87", "MacAddress": "02: 42: ac: 16: 00: 07", "IPv4Address": "172.22.0.7/16", "IPv6Address": "" }, "5689c378b255e649c40dd5988810437a6c1d0d2ea1c48340da5eb66a684b3a78": { "Nom": "peer1.org2.example.com", "EndpointID": "1ec40982fbbf10005231e6a73557ad677f32c0f1aeb2a77818ae86627c3b0f93", "MacAddress": « 02: 42: ac: 16: 00 : 05" , "IPv4Address": "172.22.0.5/16", "IPv6Address": ""} , "5f386fd1480ea079dfaa9ed15246bf7f42cafd82f6bc1f3eaa1f9ae4a9852655": { "Nom": "orderer0.example.com", "EndpointID": "fb76384614442a12735ee2a844787acbd0970a428682236b9a2aba22d8a62269", "MacAddress": "02: 42: ac: 16: 00: 11", "IPv4Address": « 172.22.0.17/16" , "IPv6Address": "" }, "6e773f10d98ce70b768c9ff13cfa15349fd512376748197168762be4af116b0d": { "Nom": "zookeeper1", "EndpointID": "3d6902f623c8541d4657ef4323c1527a6021e7e140eca5dcb9037154f739c96a", "MacAddress": « 02: 42: ac: 16: 00: 0a ", " IPv4Address ":" 172.22.0.10/16 " " IPv6Address ":" "} , " 8198dd5c82939c6513dd9fcec8b4a308c631d4b008e4d5774bf0ca0f46bc914e " {" Nom ":" orderer2.example.com", " EndpointID ":" d073d216e8e7173984b0d64ef77d0b85315c6440b306324e518f18893ab3896c », " MacAddress "" 02 : 42: AC: 16: 00: 10 " " IPv4Address ":" 172.22.0.16/16", " IPv6Address ":" "} , " 8352c58d066ab776ce3e1c50d43d5105130664ba193ae52bc1e00d723923062f " {" Nom ":" Ali », "EndpointID": "39ce6d60b4f223adcd9969832d0442e78d9a7b30737ab6892614f2198db58c0c" "MacAddress": "02: 42: AC: 16: 00: 12", "IPv4Address": "172.22.0.18/16", "IPv6Address": ""} , "8ec391c08bfcb00dd8c08ddb3c230c47e2c19a340e936451aa25dac875556e3f" { "Nom": "kafka3", "EndpointID": "1ddc30616adc68ddb39e912131b10b8719f887d8c589e2044e453dd9aac11e3f", "MacAddress" "02: 42: AC: 16: 00: 0C" "IPv4Address": "172.22.0.12/16", "IPv6Address": ""} , "9962d040aa1532798195a4fd29d60308ed2f14cdd6db9c5de15802fde82c9a2f" { "Nom": " ca_peerOrg2 " " EndpointID ":" bdb3959d034d2989d0b046d323ee716ab85fa168a27cb717b9c8837fe9fef0e1 " " MacAddress ":" 02: 42: AC: 16: 00: 09", "IPv4Address": "172.22.0.9/16", "IPv6Address": ""} , "9f7c182c543ae849db3cdf09c011e109b5d4a5cf5922ba6b6bfc5c80e83b080c" { "Nom": "peer0.org2.example.com", "EndpointID" " db5986d7e0ffe77e4eced6c43950aaeabe64e4949ab976d017d8df2c446f58f0 " " MacAddress ":" 02: 42: AC: 16: 00: 04 " " IPv4Address ":" 172.22.0.4/16", " IPv6Address ":" "} , " ad17f4de4a0a1a4348515bf061fcec3ed70c36882e7181165eb53060714a137d " { "Nom": "kafka1", "EndpointID": "3897d1c584214be158b1c84f65824dcf2fb6649070128e0589da78cbb383472a", "MacAddress" "02: 42: AC: 16: 00: 0e" "IPv4Address": "172.22.0.14/16", "IPv6Address": ""} , "d9923058ffe9697103daa740c68fa10d015788f6bc4e83214d8eff21cf9ada43" { "Nom": " zookeeper0 " " EndpointID ":" a0b2d2a321be2bbbdbaab931b3789572f50ea0fcaed4c80da2acc906fe01fed4 " " MacAddress ":" 02: 42: AC: 16: 00: 06", " IPv4Address ":" 172.22.0.6/16 », " IPv6Address "" " }, " fa6e25647fb0450aadcab51266a94701bf6db49439157372db6e016555c08079 " {" Nom ":" peer0.org1.example.com " " EndpointID ":" d8e1566da5b6ad7ad1a6e180ebb13239477b454cfe7f7ef70b7859c3bd4d0d67", "MacAddress": "02: 42: AC: 16: 00: 03", "IPv4Address": "172.22.0.3/16", "IPv6Address": ""}} , "Options": { }, "étiquettes": {}}

]

Il y a quelqu'un rencontrer le problème même avec moi? Tout conseil est très apprécié!

+0

Quelle machine virtuelle utilisez-vous? VirtualBox, KVM, etc. Aussi, quelle version de Docker? Vous pouvez essayer de définir le champ de recherche DNS pour votre conteneur client dans votre fichier Composer. Voir https://stackoverflow.com/a/45916717/6160507 (c'était pour le pair, mais vous pouvez faire le même changement pour votre orderer) –

+0

Un grand merci pour votre réponse rapide. Ce que j'ai utilisé id VMware® Workstation 12 Pro 12.5.2 build-4638234. Docker version 17.03.1-ce. Je vais essayer votre suggestion, merci beaucoup! –

+0

Bonjour Gari Singy ...... merci beaucoup pour vos conseils. Ça marche. Puis-je demander le but de spécifié dns_search =. dans le fichier yaml? Merci beaucoup pour votre aide! –

Répondre

1

dial tcp: lookup kafka2 on 127.0.0.11:53: dial udp 127.0.0.11:53: i/o timeout orderer0.example.com

L'erreur ci-dessus indique que le donneur d'ordre a tenté de faire une recherche DNS pour l'hôte kafka2 puis chronométré à essayer de se connecter à l'adresse de retour de DNS. Je suppose que lorsque vous exécutez la machine virtuelle en mode NAT, vous utilisez les paramètres DNS de l'hôte et que le DNS de l'hôte est probablement configuré pour rechercher des noms DNS dans un domaine DNS spécifique - par exemple, le domaine de recherche peut être quelque chose comme search.com DNS tente donc de résoudre kafka2 comme kafka2.search.com. Il est probable que le fournisseur Internet que vous utilisez résout ce problème à une adresse, puis le client essaie de s'y connecter.

Afin de contourner ce comportement dans Docker, vous pouvez définir le champ dns-search pour votre conteneur client dans votre fichier Composer. Voir stackoverflow.com/a/45916717/6160507 (c'était pour le pair, mais vous pouvez faire le même changement pour votre orderer). Avec ce paramètre, il n'attribuera pas le suffixe DNS et tentera simplement de résoudre kafka2 qui se résoudra alors en IP du conteneur via le DNS intégré de Docker