這篇文章將為大家詳細講解有關(guān)HyperLedger如何使用Ansible進行Fabric多機部署,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
成都創(chuàng)新互聯(lián)公司制作網(wǎng)站網(wǎng)頁找三站合一網(wǎng)站制作公司,專注于網(wǎng)頁設(shè)計,成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè),網(wǎng)站設(shè)計,企業(yè)網(wǎng)站搭建,網(wǎng)站開發(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ò)營銷推廣服務(wù)!
在192.168.88.10、192.168.88.11、192.168.88.12上部署一個有兩個組織三個Peer組成的聯(lián)盟。
聯(lián)盟的二級域名為: example.com。
組織一的域名為: member1.example.com
組織二的域名為: member2.example.com
組織一中部署了一個Orderer和兩個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
組織二沒有部署Orderer參與共識,只部署一個Peer:
peer0.member2.example.com 192.168.88.12
共識算法是solo,如果要切換為其它共識算法,例如kafka,需要另外部署kafka,并修改配置文件。
下載Ansible腳本:
git clone https://github.com/introclass/hyperledger-fabric-ansible.git cd hyperledger-fabric-ansible
0 將要部署到目標(biāo)環(huá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)備在運行ansible的機器使用fabric命令:
注意事項1:
prepare.sh
會使用hyperledger fabric的命令,需要把在本地運行的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 運行perpare.sh生成證書,以及創(chuàng)世塊(可以根據(jù)需要修改腳本):
./prepare.sh example
注意事項2:
每個部署環(huán)境分別在output和inventories中有一個自己的目錄,要增加新部署環(huán)境除了在output和inventories中準(zhǔn)備目錄和文件,您還可能需要根據(jù)自己的需要在prepare.sh中添加為新的環(huán)境生成證書和其它文件的命令。
1 初始化目標(biāo)機器
export ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook -k -i inventories/example.com/hosts -u root deploy_prepare.yml
2 檢測證書設(shè)置是否成功
ansible -i inventories/example.com/hosts -u root all -m command -a "pwd"
3 如果域名沒有綁定IP,修改每臺機器的/etc/hosts,(會替換整個文件):
ansible -i inventories/example.com/hosts -u root all -m copy -a "src=./inventories/example.com/etc_hosts dest=/etc/hosts"
4 部署節(jié)點
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
1 進入member1的管理員目錄,對peer0.member1.example.com進行操作:
cd /opt/app/fabric/cli/user/member1.example.com/Admin-peer0.member1.example.com/ //創(chuàng)建channel,channel只需要創(chuàng)建一次 ./0_create_channel.sh //加入channel ./1_join_channel.sh //設(shè)置錨點Peer: ./2_set_anchor_peer.sh
2 進入member1的管理員目錄,對peer1.member1.example.com進行操作:
cd /opt/app/fabric/cli/user/member1.example.com/Admin-peer1.member1.example.com ./1_join_channel.sh
3 進入member2的管理員目錄,對peer0.member1.example.com進行操作:
cd /opt/app/fabric/cli/user/member2.example.com/Admin-peer0.member2.example.com //加入channel ./1_join_channel.sh //設(shè)置錨點Peer: ./2_set_anchor_peer.sh
1 進入member1的管理員目錄,對peer0.member1.example.com進行操作:
cd /opt/app/fabric/cli/user/member1.example.com/Admin-peer0.member1.example.com/ //先獲取合約代碼,可能會比較慢,拉取代碼比較耗時 go get github.com/lijiaocn/fabric-chaincode-example/demo //安裝合約 ./3_install_chaincode.sh //查看已經(jīng)安裝的合約 ./peer.sh chaincode list --installed //合約實例化,只需要實例化一次 ./4_instantiate_chaincode.sh
2 在其它Peer上部署合約
//peer1.member1.example.com //先獲取合約代碼,可能會比較慢,拉取代碼比較耗時 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 //先獲取合約代碼,可能會比較慢,拉取代碼比較耗時 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
同一個合約,只需要在任意一個Peer上實例化一次。
3 調(diào)用合約,寫數(shù)據(jù)
./6_invoke_chaincode.sh
4 調(diào)用合約,查數(shù)據(jù)
./5_query_chaincode.sh
1 啟動鏈:
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 銷毀鏈:
ansible-playbook -i inventories/example.com/hosts -u root playbooks/manage_destroy.yml
關(guān)于“HyperLedger如何使用Ansible進行Fabric多機部署”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
新聞標(biāo)題:HyperLedger如何使用Ansible進行Fabric多機部署
網(wǎng)站路徑:http://aaarwkj.com/article12/gojggc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、微信公眾號、品牌網(wǎng)站制作、網(wǎng)站建設(shè)、定制開發(fā)、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)