CentOS7 - Hyperledger Fabric1.1多机部署中切换默认goleaveldb为CouchDB

根据搜集的资料安装测试并在安装测试过程中整理的文档,如有不足希望不吝赐教。


目录

一、前提

二、需改配置

1.关闭已经启动的fabric网络全部peer节点

2.修改peer节点配置文件

三、重新启动

四、异常处理

1.peer节点不能停止

2.peer节点重启后CouchDB中没有数据


一、前提

  1. 为每个peer节点安装配置且成功启动CouchDB,如果需要可以参考《CentOS7安装CouchDB
  2. 因为这篇文档是在《CentOS7中hyperledger-fabric1.1 - 2+6多机安装部署、部分异常处理以及使用configtxlator对区块基本信息查询(kafka共识,手动非docker方式)》的基础上进行修改,因此文中部分配置不再特别说明。

 

二、需改配置

1.关闭已经启动的fabric网络全部peer节点

如果fabric网络已经启动,则先关闭peer节点(配置修改完成后关闭重启或许也行,请自行尝试),因为之前的教程中启动方式是直接使用:peer node start命令在前台启动,因此只需要使用ctrl+c便可以关闭peer节点,其他启动方式(如后台启动)请自行使用相应方法关闭。

 

2.修改peer节点配置文件

进入配置文件目录:

cd /etc/hyperledger/fabric

编辑配置文件:

vim core.yaml

修改ledger. blockchain中的配置参数:

stateDatabase: CouchDB
couchDBAddress: 127.0.0.1:5984
username: admin
password: admin

其中需要注意的是:

  • 配置参数前与冒号之间有一个空格;
  • 配置项stateDatabase的参数CouchDB大小写要正确,否则不能成功链接CouchDB;
  • 配置项couchDBAddress的地址需要根据自己实际安装CouchDB的主机ip修改,因为此处链接的都是本机的CouchDB,因此使用127.0.0.1:5984;
  • username和password根据自己实际的CouchDB中配置修改。

以上修改需要根据实际情况修改全部peer节点的配置。

 

三、重新启动

修改完成后,按照相应的启动方式,重新启动全部peer节点。

启动成功后,fabric会自动将历史数据同步到couchdb中,可以在浏览器中访问CouchDB查看到fabric自动创建的Database信息,如图:

CentOS7 - Hyperledger Fabric1.1多机部署中切换默认goleaveldb为CouchDB

 

四、异常处理

1.peer节点不能停止

在关闭peer节点的时候,有部分peer节点不能使用ctrl+c停止进程,因此使用ps a命令(或者ps -ef|grep peer|grep -v grep)查看进程,然后使用kill -9 PID命令直接停止进程。

CentOS7 - Hyperledger Fabric1.1多机部署中切换默认goleaveldb为CouchDB

 

2.peer节点重启后CouchDB中没有数据

peer节点能成功启动,但是CouchDB中没有数据,需要检查core.yaml文件中四项配置,包括但不限于ip、port、帐号密码等是否正确,尤其需要注意CouchDB大小写是否正确,在本次配置中就是因为把CouchDB写成了couchdb,导致没有数据产生。


end