Ubuntu Hyperledger结构网络中的CouchDB错误-数据库不存在

Ubuntu Hyperledger结构网络中的CouchDB错误-数据库不存在,ubuntu,couchdb,hyperledger-fabric,Ubuntu,Couchdb,Hyperledger Fabric,我有一个非常简单的Hyperledger结构测试网络。网络通过Docker Compose正常启动,对等方和订购方之间的连接正常。每个对等方都有一个单独的容器作为其数据库,其中包含CouchDB 系统:Ubuntu 18.04 当对等节点尝试与其CouchDB容器交互时,问题就会出现,然后出现错误消息,对等节点退出 以下是CouchDB的容器日志: 这是我在couchdb容器日志中收到的错误: [信息]2019-11-26T10:28:38.398968Znonode@nohost-----Ap

我有一个非常简单的Hyperledger结构测试网络。网络通过Docker Compose正常启动,对等方和订购方之间的连接正常。每个对等方都有一个单独的容器作为其数据库,其中包含CouchDB

系统:Ubuntu 18.04

当对等节点尝试与其CouchDB容器交互时,问题就会出现,然后出现错误消息,对等节点退出

以下是CouchDB的容器日志:

这是我在couchdb容器日志中收到的错误:

[信息]2019-11-26T10:28:38.398968Znonode@nohost-----Apache CouchDB已在上启动

[信息]2019-11-26T10:28:38.399538Znonode@nohost-----已在节点上启动应用程序nonode@nohost

[信息]2019-11-26T10:28:38.399838Znonode@nohost-----应用程序ets\U lru已在节点上启动nonode@nohost

[信息]2019-11-26T10:28:38.428548Znonode@nohost-----已在节点上启动应用程序rexinonode@nohost

[信息]2019-11-26T10:28:38.441617Znonode@nohost----------打开\u节点的\u结果错误{未找到,没有\u db\u文件}

[警告]2019-11-26T10:28:38.441655Znonode@nohost-----正在创建缺少的数据库:\u节点

[信息]2019-11-26T10:28:38.470566Znonode@nohost----------打开\u dbs的\u结果错误{未找到,没有\u db\u文件}

[警告]2019-11-26T10:28:38.470600Znonode@nohost-----正在创建缺少的数据库:\u dbs

[警告]2019-11-26T10:28:38.470639Znonode@nohost-----正在创建缺少的数据库:\u dbs

[信息]2019-11-26T10:28:38.478597Znonode@nohost-----已在节点上启动应用程序mem3nonode@nohost

[信息]2019-11-26T10:28:38.478957Znonode@nohost----------已在节点上启动应用程序结构nonode@nohost

[信息]2019-11-26T10:28:38.529437Znonode@nohost-----已在节点上启动应用程序chttpdnonode@nohost


[通知]2019-11-26T10:28:38.553132Znonode@nohost-----------chttpd\u auth\u cache changes监听器死亡数据库\u不存在于mem3\u shards:load\u shards\u from\u db/6(第395行)我检查了compose yaml和容器本身中的env变量,看起来一切正常。couchDB也按预期运行。这里是额外的信息,因为我非常不确定问题可能是什么

**core.yml:**

    ledger:

      blockchain:

      state:
         stateDatabase - options are "goleveldb", "CouchDB"
         goleveldb - default state database stored in goleveldb.
         CouchDB - store state database in CouchDB
        stateDatabase: CouchDB
         Limit on the number of records to return per query
        totalQueryLimit: 100000
        couchDBConfig:

           couchDBAddress: 127.0.0.1:5984

           username:

           password:

           maxRetries: 3

           maxRetriesOnStartup: 12

           requestTimeout: 35s

           internalQueryLimit: 1000

           maxBatchUpdateSize: 1000

           warmIndexesAfterNBlocks: 1

           createGlobalChangesDB: false

    **docker-compose.yml:**

    peer0.org1.example.com:
        container_name: peer0.org1.example.com
        image: hyperledger/fabric-peer
        environment:
          - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
          - CORE_PEER_ID=peer0.org1.example.com
          - FABRIC_LOGGING_SPEC=info
          - CORE_CHAINCODE_LOGGING_LEVEL=info
          - CORE_PEER_LOCALMSPID=Org1MSP
          - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer/
          - CORE_PEER_ADDRESS=peer0.org1.example.com:7051
          - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=startFiles_basic
          - CORE_LEDGER_STATE_STATEDATABASE=CouchDB
          - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdbOrg1Peer0:5984
          - CORE_LEDGER_STATE_COUCHDBCONFIG_USERNAME=peer0.Org1
          - CORE_LEDGER_STATE_COUCHDBCONFIG_PASSWORD=password
        working_dir: /opt/gopath/src/github.com/hyperledger/fabric
        command: peer node start
        # command: peer node start --peer-chaincodedev=true
        ports:
          - 7051:7051
          - 7053:7053
        volumes:
          - /var/run/:/host/var/run/
          - ./crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/msp/peer
          - ./crypto-config/peerOrganizations/org1.example.com/users:/etc/hyperledger/msp/users
          - ./config:/etc/hyperledger/configtx
        depends_on:
          - orderer.example.com
          - couchdbOrg1Peer0
        networks:
          - basic

      couchdbOrg1Peer0:
        container_name: couchdbOrg1Peer0
        image: hyperledger/fabric-couchdb
        environment:
          - COUCHDB_USER=​peer0.Org1
          - COUCHDB_PASSWORD=​password
        ports:
          - "5984:5984"
        networks:
          - basic


    **From the CLI logs**

    user:~/Desktop/fabric-samples$ curl http://127.0.0.1:5984/
    {"couchdb":"Welcome","version":"2.2.0","git_sha":"2a16ec4","features":["pluggable-storage-engines","scheduler"],"vendor":{"name":"The Apache Software Foundation"}}

    user:docker exec -it peer0.org1.example.com bashroot@ba0c7f2796b6:/opt/gopath/src/github.com/hyperledger/fabric# printenv
    CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdbOrg1Peer0:5984
    CORE_PEER_LOCALMSPID=Org1MSP
    CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
    CORE_CHAINCODE_LOGGING_LEVEL=info
    CORE_LEDGER_STATE_COUCHDBCONFIG_PASSWORD=password
    FABRIC_LOGGING_SPEC=info
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    PWD=/opt/gopath/src/github.com/hyperledger/fabric
    CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer/
    CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=startFiles_basic
    CORE_PEER_ID=peer0.org1.example.com
    SHLVL=1
    HOME=/root
    FABRIC_CFG_PATH=/etc/hyperledger/fabric
    CORE_LEDGER_STATE_COUCHDBCONFIG_USERNAME=peer0.Org1
    CORE_PEER_ADDRESS=peer0.org1.example.com:7051
    CORE_LEDGER_STATE_STATEDATABASE=CouchDB
    _=/usr/bin/printenv

您的数据库尚未正确配置。CouchDB和对等方的
docker compose.yaml
文件可能重复,这将有助于分析错误。使两者协同工作并不困难,因此这是由
docker compose.yaml
中定义的环境变量中的某些错误配置造成的。@kekomal请参阅下面的其他信息-因为我尚未设法解决此问题。