中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

HyperLedger中如何為Fabric的Peer節點配置CouchDB

發布時間:2021-12-07 12:20:06 來源:億速云 閱讀:301 作者:小新 欄目:互聯網科技

小編給大家分享一下HyperLedger中如何為Fabric的Peer節點配置CouchDB,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

說明

當前(1.1~1.2)版本的Fabric的Peer的數據存儲支持LevelDB和CouchDB兩種方式,默認為LevelDB。

LevelDB是Google實現的高效kv數據庫,可以應用于很多平臺,是很多大數據系統的底層存儲方案。

CouchDB是Apache旗下的文檔型數據庫,提供了更多樣的數據操作,支持數據同步,技術細節見:CouchDB Technical Overview。

文檔型數據庫是相對于關系型數據而言的,文檔數據庫中可以直接存、取包含多種信息的文本,相比預先設計表結構的關系型數據庫,文檔數據庫能應對變化、多樣的數據。

Fabric的Peer在CouchDB中存儲的是json數據,所有寫入Fabric的數據都需要轉換成json格式。

Fabric部署之后,不支持在CouchDB和LevelDB之間切換!

CouchDB部署啟動

Installation on Unix-like systems中出了在多種系統上安裝方式,這里使用的CentOS系統。

創建文件/etc/yum.repos.d/bintray-apache-couchdb-rpm.repo,內容如下:

[bintray--apache-couchdb-rpm]
name=bintray--apache-couchdb-rpm
baseurl=http://apache.bintray.com/couchdb-rpm/el7/$basearch/
gpgcheck=0
repo_gpgcheck=0
enabled=1

安裝:

yum -y install epel-release && yum install couchdb

默認安裝在/opt/couchdb/目錄中:

$ ls /opt/couchdb/
LICENSE  bin  data  erts-8.3.5  etc  lib  releases  share  var

啟動:

systemctl start couchdb

默認監聽127.0.0.1:5984:

$ curl 127.0.0.1:5984
{"couchdb":"Welcome","version":"2.1.2","features":["scheduler"],"vendor":{"name":"The Apache Software Foundation"}}

CouchDB配置與控制臺的使用

配置文件位于/opt/couchdb/etc/目錄中:

$ ls etc/
default.d/  default.ini  local.d/  local.ini  vm.args

default.d和default.ini在版本更新的時候會被覆蓋,因此自行配置的參數在local.ini和local.d中修改。

在local.d中創建一個以.ini結尾的文件,couchdb.ini

[chttpd]
port = 5984
bind_address = 0.0.0.0

[admins]
admin = password

然后重啟couchdb:

systemctl restart couchdb

5984端口提供了一個web控制臺,使用下面的url訪問:

http://192.168.88.10:5984/_utils

如果沒有創建couchdb.ini,都使用默認配置,剛啟動時候默認所有人都可以訪問,且都是管理員

可以在web控制臺中設置管理員名稱和密碼。

CouchDB的其它內容

可以直接在web控制臺中創建數據庫和文檔,也可以使用CouchDB API

登錄認證:CouchDB Authentication

為每個Peer配置CouchDB

修改每個Peer的core.yaml文件,設置

ledger:
  blockchain:
  state:
    stateDatabase: CouchDB   #將goleveldb修改為CouchDB
    couchDBConfig:
       couchDBAddress: 127.0.0.1:5984
       username: admin
       password: password

然后重啟啟動Peer。

注意:如果以前使用的是goleveldb,切換未CouchDB后,之前的數據不會被轉移到CouchDB中!!

first-network中的couchDB

可以看一下HyperLedgerFabric提供的All-in-One部署方式中的couchdb,這里直接使用Fabric1.2.0。

創建一個目錄存放1.2.0的文件:

mkdir fabric-1.2.0-example
cd fabric-1.2.0-example/

下載fabric1.2.0的程序文件,這里使用的mac版:

wget https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric/darwin-amd64-1.2.0/hyperledger-fabric-darwin-amd64-1.2.0.tar.gz
wget https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric/darwin-amd64-1.2.0/hyperledger-fabric-darwin-amd64-1.2.0.tar.gz.md5
tar -xvf hyperledger-fabric-darwin-amd64-1.2.0.tar.gz

下載Fabric1.2.0匹配的鏡像:

./bin/get-docker-images.sh

如果下載失敗,例如:

$ ./bin/get-docker-images.sh
Pulling hyperledger/fabric-peer:amd64-1.2.0-stable

這是因為docker hub上沒有1.2.0-stable這個標簽。

修改./bin/get-docker-images.sh:

ARCH=amd64
#VERSION=1.2.0-stable
VERSION=1.2.0          <-- 沒有-stable

然后重新執行:

$ ./bin/get-docker-images.sh

并將latest標簽加到最新到鏡像上:

docker tags hyperledger/fabric-tools:amd64-1.2.0  hyperledger/fabric-tools:latest

將bin目錄添加到PATH環境變量中:

export PATH="/Users/lijiao/Work/Fabric/fabric-1.2.0-example/bin/:$PATH"

下載fabric-samples,這是HyperLedger提供Fabric部署示例:

git clone https://github.com/hyperledger/fabric-samples.git

啟動,注意要用-s couchdb指定使用couddb:

cd fabric-samples/first-network
./byfn.sh up -s couchdb

cli容器啟動時執行scripts/script.sh,完成channel設置。

我運行的時候cli容器出錯,說是連接不上節點,基本上已經不依賴官方的例子了,所以沒有深入分析@2018-07-19 21:27:23

以上是“HyperLedger中如何為Fabric的Peer節點配置CouchDB”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沙湾县| 张家川| 青田县| 虞城县| 十堰市| 马山县| 金乡县| 光山县| 敖汉旗| 黔东| 郸城县| 洛阳市| 保德县| 襄垣县| 屯昌县| 东方市| 澄城县| 临海市| 浦县| 西乌| 三河市| 日照市| 遂宁市| 屏东县| 二连浩特市| 郴州市| 织金县| 凌云县| 舞钢市| 洞头县| 巨鹿县| 新绛县| 策勒县| 中江县| 临泉县| 玉山县| 闽清县| 垣曲县| 自治县| 石城县| 南投县|