真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

HyperLedger如何使用Ansible進(jìn)行Fabric多機(jī)部署

這篇文章將為大家詳細(xì)講解有關(guān)HyperLedger如何使用Ansible進(jìn)行Fabric多機(jī)部署,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

成都創(chuàng)新互聯(lián)公司制作網(wǎng)站網(wǎng)頁(yè)找三站合一網(wǎng)站制作公司,專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì),成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè),網(wǎng)站設(shè)計(jì),企業(yè)網(wǎng)站搭建,網(wǎng)站開(kāi)發(fā),建網(wǎng)站業(yè)務(wù),680元做網(wǎng)站,已為1000+服務(wù),成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)將一如既往的為我們的客戶提供最優(yōu)質(zhì)的網(wǎng)站建設(shè)、網(wǎng)絡(luò)營(yíng)銷(xiāo)推廣服務(wù)!

目標(biāo)

在192.168.88.10、192.168.88.11、192.168.88.12上部署一個(gè)有兩個(gè)組織三個(gè)Peer組成的聯(lián)盟。

聯(lián)盟的二級(jí)域名為: example.com。

組織一的域名為: member1.example.com

組織二的域名為: member2.example.com

組織一中部署了一個(gè)Orderer和兩個(gè)Peer,域名和IP分別為:

orderer0.member1.example.com  192.168.88.10
peer0.member1.example.com     192.168.88.10
peer1.member1.example.com     192.168.88.11

組織二沒(méi)有部署Orderer參與共識(shí),只部署一個(gè)Peer:

peer0.member2.example.com     192.168.88.12

共識(shí)算法是solo,如果要切換為其它共識(shí)算法,例如kafka,需要另外部署kafka,并修改配置文件。

準(zhǔn)備

下載Ansible腳本:

git clone https://github.com/introclass/hyperledger-fabric-ansible.git
cd hyperledger-fabric-ansible

0 將要部署到目標(biāo)環(huán)境中的二進(jìn)制文件復(fù)制到output/example.com/bin/目錄中

mkdir -p output/example.com/
cd output/example.com/
wget https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric/linux-amd64-1.1.0/hyperledger-fabric-linux-amd64-1.1.0.tar.gz
wget https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric/linux-amd64-1.1.0/hyperledger-fabric-linux-amd64-1.1.0.tar.gz.md5
tar -xvf hyperledger-fabric-linux-amd64-1.1.0.tar.gz

1 在inventories/example.com中創(chuàng)建配置文件,以及ansible需要的hosts文件:

configtx.yaml
crypto-config.yaml
hosts

2 準(zhǔn)備在運(yùn)行ansible的機(jī)器使用fabric命令:

注意事項(xiàng)1:

prepare.sh會(huì)使用hyperledger fabric的命令,需要把在本地運(yùn)行的fabric命令放到output/bin目錄中。

例如,我是在mac上執(zhí)行ansible的,下載的是darwin版本的fabric:

mkdir -p output/bin
cd output/bin
wget https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric/darwin-amd64-1.1.0/hyperledger-fabric-darwin-amd64-1.1.0.tar.gz
wget https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric/darwin-amd64-1.1.0/hyperledger-fabric-darwin-amd64-1.1.0.tar.gz.md5
tar -xvf hyperledger-fabric-darwin-amd64-1.1.0.tar.gz

3 運(yùn)行perpare.sh生成證書(shū),以及創(chuàng)世塊(可以根據(jù)需要修改腳本):

./prepare.sh example

注意事項(xiàng)2:

每個(gè)部署環(huán)境分別在output和inventories中有一個(gè)自己的目錄,要增加新部署環(huán)境除了在output和inventories中準(zhǔn)備目錄和文件,您還可能需要根據(jù)自己的需要在prepare.sh中添加為新的環(huán)境生成證書(shū)和其它文件的命令。

部署

1 初始化目標(biāo)機(jī)器

export ANSIBLE_HOST_KEY_CHECKING=False
ansible-playbook -k -i inventories/example.com/hosts -u root deploy_prepare.yml

2 檢測(cè)證書(shū)設(shè)置是否成功

ansible -i inventories/example.com/hosts -u root  all  -m command -a "pwd"

3 如果域名沒(méi)有綁定IP,修改每臺(tái)機(jī)器的/etc/hosts,(會(huì)替換整個(gè)文件):

ansible -i inventories/example.com/hosts -u root  all  -m copy -a "src=./inventories/example.com/etc_hosts dest=/etc/hosts"

4 部署節(jié)點(diǎn)

ansible-playbook -i inventories/example.com/hosts -u root deploy_nodes.yml

5 部署客戶端

ansible-playbook -i inventories/example.com/hosts -u root deploy_cli.yml

Fabric初始化

1 進(jìn)入member1的管理員目錄,對(duì)peer0.member1.example.com進(jìn)行操作:

cd /opt/app/fabric/cli/user/member1.example.com/Admin-peer0.member1.example.com/

//創(chuàng)建channel,channel只需要?jiǎng)?chuàng)建一次
./0_create_channel.sh

//加入channel
./1_join_channel.sh

//設(shè)置錨點(diǎn)Peer:
./2_set_anchor_peer.sh

2 進(jìn)入member1的管理員目錄,對(duì)peer1.member1.example.com進(jìn)行操作:

cd /opt/app/fabric/cli/user/member1.example.com/Admin-peer1.member1.example.com
./1_join_channel.sh

3 進(jìn)入member2的管理員目錄,對(duì)peer0.member1.example.com進(jìn)行操作:

cd /opt/app/fabric/cli/user/member2.example.com/Admin-peer0.member2.example.com

//加入channel
./1_join_channel.sh

//設(shè)置錨點(diǎn)Peer:
./2_set_anchor_peer.sh

部署合約

1 進(jìn)入member1的管理員目錄,對(duì)peer0.member1.example.com進(jìn)行操作:

cd /opt/app/fabric/cli/user/member1.example.com/Admin-peer0.member1.example.com/

//先獲取合約代碼,可能會(huì)比較慢,拉取代碼比較耗時(shí)
go get github.com/lijiaocn/fabric-chaincode-example/demo

//安裝合約
./3_install_chaincode.sh

//查看已經(jīng)安裝的合約
./peer.sh chaincode list --installed

//合約實(shí)例化,只需要實(shí)例化一次
./4_instantiate_chaincode.sh

2 在其它Peer上部署合約

//peer1.member1.example.com
//先獲取合約代碼,可能會(huì)比較慢,拉取代碼比較耗時(shí)
go get github.com/lijiaocn/fabric-chaincode-example/demo

cd /opt/app/fabric/cli/user/member1.example.com/Admin-peer1.member1.example.com/
./3_install_chaincode.sh

//peer0.member2.example.com
//先獲取合約代碼,可能會(huì)比較慢,拉取代碼比較耗時(shí)
go get github.com/lijiaocn/fabric-chaincode-example/demo

cd /opt/app/fabric/cli/user/member2.example.com/Admin-peer0.member2.example.com/
./3_install_chaincode.sh

同一個(gè)合約,只需要在任意一個(gè)Peer上實(shí)例化一次。

3 調(diào)用合約,寫(xiě)數(shù)據(jù)

./6_invoke_chaincode.sh

4 調(diào)用合約,查數(shù)據(jù)

./5_query_chaincode.sh

管理操作

1 啟動(dòng)鏈:

ansible-playbook -i inventories/example.com/hosts -u root playbooks/manage_start.yml

2 停止鏈:

ansible-playbook -i inventories/example.com/hosts -u root playbooks/manage_stop.yml

3 清空鏈上所有數(shù)據(jù):

ansible-playbook -i inventories/example.com/hosts -u root playbooks/manage_rebuild.yml

4 銷(xiāo)毀鏈:

ansible-playbook -i inventories/example.com/hosts -u root playbooks/manage_destroy.yml

關(guān)于“HyperLedger如何使用Ansible進(jìn)行Fabric多機(jī)部署”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。


文章題目:HyperLedger如何使用Ansible進(jìn)行Fabric多機(jī)部署
瀏覽路徑:http://weahome.cn/article/gojggc.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部