2016-05-16 4 views
3

私はHyperledger検証し、ピアのクラスタを作成しようとしています、それぞれが別のホスト上で実行されているが、それは適切に機能していないと思われます。ルートノードと3つのピア・ノードを起動した後、これはルートノード、vp0peer network listを実行して出力されるマルチホストの検証ピアクラスタセットアップ

{"peers":[{"ID":{"name":"vp1"},"address":"172.17.0.2:30303","type":1},{"ID":{"name":"vp2"},"address":"172.17.0.2:30303","type":1},{"ID":{"name":"vp3"},"address":"172.17.0.2:30303","type":1}]} 

これは、ピアの1つ、vp3上の同じコマンドから出力されます。

すべてのピアは、自分自身とそのルートのリスト(vp0)のみをリストに含めます。

これは、ルートノード、vp0からログ出力されます:https://gist.github.com/mikezaccardo/f139eaf8004540cdfd24da5a892716cc

これは、ピア・ノードの1、vp3からログ出力されます:https://gist.github.com/mikezaccardo/7379584ca4f67bce553c288541e3c58e

これは私が作成するために実行しているコマンドですルートノード:

nohup sudo docker run --name=$HYPERLEDGER_PEER_ID \ 
      --restart=unless-stopped \ 
      -i \ 
      -p 5000:5000 \ 
      -p 30303:30303 \ 
      -p 30304:30304 \ 
      -p 31315:31315 \ 
      -e CORE_VM_ENDPOINT=http://172.17.0.1:4243 \ 
      -e CORE_PEER_ID=$HYPERLEDGER_PEER_ID \ 
      -e CORE_PEER_ADDRESSAUTODETECT=true \ 
      -e CORE_PEER_NETWORKID=dev \ 
      -e CORE_PEER_VALIDATOR_CONSENSUS_PLUGIN=pbft \ 
      -e CORE_PBFT_GENERAL_MODE=classic \ 
      -e CORE_PBFT_GENERAL_N=$HYPERLEDGER_CLUSTER_SIZE \ 
      -e CORE_PBFT_GENERAL_TIMEOUT_REQUEST=10s \ 
      joequant/hyperledger /bin/bash -c "rm config.yaml; cp /usr/share/go-1.6/src/github.com/hyperledger/fabric/consensus/obcpbft/config.yaml .; peer node start" > $HYPERLEDGER_PEER_ID.log 2>&1& 

そして、これは私が他のピア・ノードのそれぞれ作成するために実行しているコマンドです:

nohup sudo docker run --name=$HYPERLEDGER_PEER_ID \ 
      --restart=unless-stopped \ 
      -i \ 
      -p 30303:30303 \ 
      -p 30304:30304 \ 
      -p 31315:31315 \ 
      -e CORE_VM_ENDPOINT=http://172.17.0.1:4243 \ 
      -e CORE_PEER_ID=$HYPERLEDGER_PEER_ID \ 
      -e CORE_PEER_DISCOVERY_ROOTNODE=$HYPERLEDGER_ROOT_NODE_ADDRESS:30303 \ 
      -e CORE_PEER_ADDRESSAUTODETECT=true \ 
      -e CORE_PEER_NETWORKID=dev \ 
      -e CORE_PEER_VALIDATOR_CONSENSUS_PLUGIN=pbft \ 
      -e CORE_PBFT_GENERAL_MODE=classic \ 
      -e CORE_PBFT_GENERAL_N=$HYPERLEDGER_CLUSTER_SIZE \ 
      -e CORE_PBFT_GENERAL_TIMEOUT_REQUEST=10s \ 
      joequant/hyperledger /bin/bash -c "rm config.yaml; cp /usr/share/go-1.6/src/github.com/hyperledger/fabric/consensus/obcpbft/config.yaml .; peer node start" > $HYPERLEDGER_PEER_ID.log 2>&1& 

HYPERLEDGER_PEER_ID、ルートノードとvp1ためvp0vp2です...ピア・ノードに対して、HYPERLEDGER_ROOT_NODE_ADDRESSは、ルートノードのパブリックIPアドレスであり、HYPERLEDGER_CLUSTER_SIZEこれはドッカー画像である4

あります私が使っていること:github.com/joequant/hyperledger

は何が私のコマンドを使用して、明らかに間違っていますか?同僚の実際のパブリックIPアドレスは、172.17.0.2ではなく、表示されるべきですか?私のログは参考になりますか?追加情報は必要ですか?

助けや洞察力があれば、大変感謝します。

答えて

2

私は、すべてのノードが互いを発見し、chaincodesが正常に展開する作業noopsクラスタを得ることができました。私は今、その代わりjoequant/hyperledgerの、mikezaccardo/hyperledger-peer画像、yeasy/hyperledger-peerのフォークを使用

は、私は上記の私のポストので、いくつかの修正を行いました。

は私が変更されました:

-e CORE_PEER_ADDRESSAUTODETECT=true \ 

に:各ピアは、そのパブリックIP、プライベートではありませんを宣伝するだろうとそう

-e CORE_PEER_ADDRESS=$HOST_ADDRESS:30303 \ 
-e CORE_PEER_ADDRESSAUTODETECT=false \ 

そして、私はきちんと公式ベースイメージとしての私の画像にタグを付けるには:

sudo docker tag mikezaccardo/hyperledger:latest hyperledger/fabric-baseimage:latest 

最後に、コンテキストのために、これはすべてのHyperledgerファブリッククラスタを展開Apacheのブルックリンの青写真の私の開発に関連しています。この投稿と回答に記載されているすべてのコードを含むリポジトリは、https://github.com/cloudsoft/brooklyn-hyperledgerにあります。

+0

回答をお書きいただきありがとうございます。私は今すぐそれを試みます! – Dolanor

関連する問題