CentOS7 - Hyperledger Fabric1.1多机部署中切换默认goleaveldb为CouchDB
根据搜集的资料安装测试并在安装测试过程中整理的文档,如有不足希望不吝赐教。
目录
一、前提
- 为每个peer节点安装配置且成功启动CouchDB,如果需要可以参考《CentOS7安装CouchDB》
- 因为这篇文档是在《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信息,如图:
四、异常处理
1.peer节点不能停止
在关闭peer节点的时候,有部分peer节点不能使用ctrl+c停止进程,因此使用ps a命令(或者ps -ef|grep peer|grep -v grep)查看进程,然后使用kill -9 PID命令直接停止进程。
2.peer节点重启后CouchDB中没有数据
peer节点能成功启动,但是CouchDB中没有数据,需要检查core.yaml文件中四项配置,包括但不限于ip、port、帐号密码等是否正确,尤其需要注意CouchDB大小写是否正确,在本次配置中就是因为把CouchDB写成了couchdb,导致没有数据产生。
end