zoukankan      html  css  js  c++  java
  • fabric基础设施管理-(六)配置管理

    (一)配置管理

    1.常见的配置

    (1)节点当前的配置

    Peer 节点内执行如下命令查看节点的配置路径

    env |grep CFG

    结果:

    FABRIC_CFG_PATH=/etc/hyperledger/fabric

    Peer对等节点的配置文件名称Core.yaml

    (2)peer节点配置文件core.yaml详解

    配置的内容非常的多,我们主要关注MSP目录、身份证书

    # Copyright IBM Corp. All Rights Reserved.

    #

    # SPDX-License-Identifier: Apache-2.0

    #

    ###############################################################################

    #

    #    Peer section

    #

    ###############################################################################

    peer:

        # The peer id provides a name for this peer instance and is used when

        # naming docker resources.

        id: jdoe

        # The networkId allows for logical separation of networks and is used when

        # naming docker resources.

        networkId: dev

        # The Address at local network interface this Peer will listen on.

        # By default, it will listen on all network interfaces

        listenAddress: 0.0.0.0:7051

        # The endpoint this peer uses to listen for inbound chaincode connections.

        # If this is commented-out, the listen address is selected to be

        # the peer's address (see below) with port 7052

        # chaincodeListenAddress: 0.0.0.0:7052

        # The endpoint the chaincode for this peer uses to connect to the peer.

        # If this is not specified, the chaincodeListenAddress address is selected.

        # And if chaincodeListenAddress is not specified, address is selected from

        # peer address (see below). If specified peer address is invalid then it

        # will fallback to the auto detected IP (local IP) regardless of the peer

        # addressAutoDetect value.

        # chaincodeAddress: 0.0.0.0:7052

        # When used as peer config, this represents the endpoint to other peers

        # in the same organization. For peers in other organization, see

        # gossip.externalEndpoint for more info.

        # When used as CLI config, this means the peer's endpoint to interact with

        address: 0.0.0.0:7051

        # Whether the Peer should programmatically determine its address

        # This case is useful for docker containers.

        # When set to true, will override peer address.

        addressAutoDetect: false

        # Keepalive settings for peer server and clients

        keepalive:

            # Interval is the duration after which if the server does not see

            # any activity from the client it pings the client to see if it's alive

            interval: 7200s

            # Timeout is the duration the server waits for a response

            # from the client after sending a ping before closing the connection

            timeout: 20s

            # MinInterval is the minimum permitted time between client pings.

            # If clients send pings more frequently, the peer server will

            # disconnect them

            minInterval: 60s

            # Client keepalive settings for communicating with other peer nodes

            client:

                # Interval is the time between pings to peer nodes.  This must

                # greater than or equal to the minInterval specified by peer

                # nodes

                interval: 60s

                # Timeout is the duration the client waits for a response from

                # peer nodes before closing the connection

                timeout: 20s

            # DeliveryClient keepalive settings for communication with ordering

            # nodes.

            deliveryClient:

                # Interval is the time between pings to ordering nodes.  This must

                # greater than or equal to the minInterval specified by ordering

                # nodes.

                interval: 60s

                # Timeout is the duration the client waits for a response from

                # ordering nodes before closing the connection

                timeout: 20s

        # Gossip related configuration

        gossip:

            # Bootstrap set to initialize gossip with.

            # This is a list of other peers that this peer reaches out to at startup.

            # Important: The endpoints here have to be endpoints of peers in the same

            # organization, because the peer would refuse connecting to these endpoints

            # unless they are in the same organization as the peer.

            bootstrap: 127.0.0.1:7051

            # NOTE: orgLeader and useLeaderElection parameters are mutual exclusive.

            # Setting both to true would result in the termination of the peer

            # since this is undefined state. If the peers are configured with

            # useLeaderElection=false, make sure there is at least 1 peer in the

            # organization that its orgLeader is set to true.

            # Defines whenever peer will initialize dynamic algorithm for

            # "leader" selection, where leader is the peer to establish

            # connection with ordering service and use delivery protocol

            # to pull ledger blocks from ordering service.

            useLeaderElection: false

            # Statically defines peer to be an organization "leader",

            # where this means that current peer will maintain connection

            # with ordering service and disseminate block across peers in

            # its own organization. Multiple peers or all peers in an organization

            # may be configured as org leaders, so that they all pull

            # blocks directly from ordering service.

            orgLeader: true

            # Interval for membershipTracker polling

            membershipTrackerInterval: 5s

            # Overrides the endpoint that the peer publishes to peers

            # in its organization. For peers in foreign organizations

            # see 'externalEndpoint'

            endpoint:

            # Maximum count of blocks stored in memory

            maxBlockCountToStore: 10

            # Max time between consecutive message pushes(unit: millisecond)

            maxPropagationBurstLatency: 10ms

            # Max number of messages stored until a push is triggered to remote peers

            maxPropagationBurstSize: 10

            # Number of times a message is pushed to remote peers

            propagateIterations: 1

            # Number of peers selected to push messages to

            propagatePeerNum: 3

            # Determines frequency of pull phases(unit: second)

            # Must be greater than digestWaitTime + responseWaitTime

            pullInterval: 4s

            # Number of peers to pull from

            pullPeerNum: 3

            # Determines frequency of pulling state info messages from peers(unit: second)

            requestStateInfoInterval: 4s

            # Determines frequency of pushing state info messages to peers(unit: second)

            publishStateInfoInterval: 4s

            # Maximum time a stateInfo message is kept until expired

            stateInfoRetentionInterval:

            # Time from startup certificates are included in Alive messages(unit: second)

            publishCertPeriod: 10s

            # Should we skip verifying block messages or not (currently not in use)

            skipBlockVerification: false

            # Dial timeout(unit: second)

            dialTimeout: 3s

            # Connection timeout(unit: second)

            connTimeout: 2s

            # Buffer size of received messages

            recvBuffSize: 20

            # Buffer size of sending messages

            sendBuffSize: 200

            # Time to wait before pull engine processes incoming digests (unit: second)

            # Should be slightly smaller than requestWaitTime

            digestWaitTime: 1s

            # Time to wait before pull engine removes incoming nonce (unit: milliseconds)

            # Should be slightly bigger than digestWaitTime

            requestWaitTime: 1500ms

            # Time to wait before pull engine ends pull (unit: second)

            responseWaitTime: 2s

            # Alive check interval(unit: second)

            aliveTimeInterval: 5s

            # Alive expiration timeout(unit: second)

            aliveExpirationTimeout: 25s

            # Reconnect interval(unit: second)

            reconnectInterval: 25s

            # Max number of attempts to connect to a peer

            maxConnectionAttempts: 120

            # Message expiration factor for alive messages

            msgExpirationFactor: 20

            # This is an endpoint that is published to peers outside of the organization.

            # If this isn't set, the peer will not be known to other organizations.

            externalEndpoint:

    领导人选举服务配置

            # Leader election service configuration

            election:

    代表成员选举等待的时间

                # Longest time peer waits for stable membership during leader election startup (unit: second)

                startupGracePeriod: 15s

    检查成员稳定性的采样间隔

    # Interval gossip membership samples to check its stability (unit: second)

                membershipSampleInterval: 1s

    Peer尝试进行选举的等待超时

                # Time passes since last declaration message before peer decides to perform leader election (unit: second)

                leaderAliveThreshold: 10s

    Peer宣布自己成为代表节点的等待时间

                # Time between peer sends propose message and declares itself as a leader (sends declaration message) (unit: second)

                leaderElectionDuration: 5s

            pvtData:

                # pullRetryThreshold determines the maximum duration of time private data corresponding for a given block

                # would be attempted to be pulled from peers until the block would be committed without the private data

                pullRetryThreshold: 60s

                # As private data enters the transient store, it is associated with the peer's ledger's height at that time.

                # transientstoreMaxBlockRetention defines the maximum difference between the current ledger's height upon commit,

                # and the private data residing inside the transient store that is guaranteed not to be purged.

                # Private data is purged from the transient store when blocks with sequences that are multiples

                # of transientstoreMaxBlockRetention are committed.

                transientstoreMaxBlockRetention: 1000

                # pushAckTimeout is the maximum time to wait for an acknowledgement from each peer

                # at private data push at endorsement time.

                pushAckTimeout: 3s

                # Block to live pulling margin, used as a buffer

                # to prevent peer from trying to pull private data

                # from peers that is soon to be purged in next N blocks.

                # This helps a newly joined peer catch up to current

                # blockchain height quicker.

                btlPullMargin: 10

                # the process of reconciliation is done in an endless loop, while in each iteration reconciler tries to

                # pull from the other peers the most recent missing blocks with a maximum batch size limitation.

                # reconcileBatchSize determines the maximum batch size of missing private data that will be reconciled in a

                # single iteration.

                reconcileBatchSize: 10

                # reconcileSleepInterval determines the time reconciler sleeps from end of an iteration until the beginning

                # of the next reconciliation iteration.

                reconcileSleepInterval: 1m

                # reconciliationEnabled is a flag that indicates whether private data reconciliation is enable or not.

                reconciliationEnabled: true

                # skipPullingInvalidTransactionsDuringCommit is a flag that indicates whether pulling of invalid

                # transaction's private data from other peers need to be skipped during the commit time and pulled

                # only through reconciler.

                skipPullingInvalidTransactionsDuringCommit: false

                # implicitCollectionDisseminationPolicy specifies the dissemination  policy for the peer's own implicit collection.

                # When a peer endorses a proposal that writes to its own implicit collection, below values override the default values

                # for disseminating private data.

                # Note that it is applicable to all channels the peer has joined. The implication is that requiredPeerCount has to

                # be smaller than the number of peers in a channel that has the lowest numbers of peers from the organization.

                implicitCollectionDisseminationPolicy:

                   # requiredPeerCount defines the minimum number of eligible peers to which the peer must successfully

                   # disseminate private data for its own implicit collection during endorsement. Default value is 0.

                   requiredPeerCount: 0

                   # maxPeerCount defines the maximum number of eligible peers to which the peer will attempt to

                   # disseminate private data for its own implicit collection during endorsement. Default value is 1.

                   maxPeerCount: 1

            # Gossip state transfer related configuration

            state:

                # indicates whenever state transfer is enabled or not

                # default value is true, i.e. state transfer is active

                # and takes care to sync up missing blocks allowing

                # lagging peer to catch up to speed with rest network

                enabled: false

                # checkInterval interval to check whether peer is lagging behind enough to

                # request blocks via state transfer from another peer.

                checkInterval: 10s

                # responseTimeout amount of time to wait for state transfer response from

                # other peers

                responseTimeout: 3s

                # batchSize the number of blocks to request via state transfer from another peer

                batchSize: 10

                # blockBufferSize reflects the size of the re-ordering buffer

                # which captures blocks and takes care to deliver them in order

                # down to the ledger layer. The actual buffer size is bounded between

                # 0 and 2*blockBufferSize, each channel maintains its own buffer

                blockBufferSize: 20

                # maxRetries maximum number of re-tries to ask

                # for single state transfer request

                maxRetries: 3

        # TLS Settings

        tls:

            # Require server-side TLS

            enabled:  false

            # Require client certificates / mutual TLS.

            # Note that clients that are not configured to use a certificate will

            # fail to connect to the peer.

            clientAuthRequired: false

            # X.509 certificate used for TLS server

            cert:

                file: tls/server.crt

            # Private key used for TLS server (and client if clientAuthEnabled

            # is set to true

            key:

                file: tls/server.key

            # Trusted root certificate chain for tls.cert

            rootcert:

                file: tls/ca.crt

            # Set of root certificate authorities used to verify client certificates

            clientRootCAs:

                files:

                  - tls/ca.crt

            # Private key used for TLS when making client connections.  If

            # not set, peer.tls.key.file will be used instead

            clientKey:

                file:

            # X.509 certificate used for TLS when making client connections.

            # If not set, peer.tls.cert.file will be used instead

            clientCert:

                file:

        # Authentication contains configuration parameters related to authenticating

        # client messages

        authentication:

            # the acceptable difference between the current server time and the

            # client's time as specified in a client request message

            timewindow: 15m

        # Path on the file system where peer will store data (eg ledger). This

        # location must be access control protected to prevent unintended

        # modification that might corrupt the peer operations.

        fileSystemPath: /var/hyperledger/production

        # BCCSP (Blockchain crypto provider): Select which crypto implementation or

        # library to use

        BCCSP:

            Default: SW

            # Settings for the SW crypto provider (i.e. when DEFAULT: SW)

            SW:

                # TODO: The default Hash and Security level needs refactoring to be

                # fully configurable. Changing these defaults requires coordination

                # SHA2 is hardcoded in several places, not only BCCSP

                Hash: SHA2

                Security: 256

                # Location of Key Store

                FileKeyStore:

                    # If "", defaults to 'mspConfigPath'/keystore

                    KeyStore:

            # Settings for the PKCS#11 crypto provider (i.e. when DEFAULT: PKCS11)

            PKCS11:

                # Location of the PKCS11 module library

                Library:

                # Token Label

                Label:

                # User PIN

                Pin:

                Hash:

                Security:

       对等节点查找MSP本地配置的路径

        # Path on the file system where peer will find MSP local configurations

        mspConfigPath: msp

    本地成员关系

    ----------------!!! 重要 !!!-------------

    部署人员需要更改localMspId字段的值

    特别,本地成员关系的名字,节点需要匹配MSP名字在每个通道,节点是成员。否则节点的消息将无效对于其他节点。

        # Identifier of the local MSP

        # ----!!!!IMPORTANT!!!-!!!IMPORTANT!!!-!!!IMPORTANT!!!!----

        # Deployers need to change the value of the localMspId string.

        # In particular, the name of the local MSP ID of a peer needs

        # to match the name of one of the MSPs in each of the channel

        # that this peer is a member of. Otherwise this peer's messages

        # will not be identified as valid by other nodes.

        localMspId: SampleOrg

        CLI通用客户端配置

        # CLI common client config options

        client:

            # connection timeout

            connTimeout: 3s

        # Delivery service related config

        deliveryclient:

            # It sets the total time the delivery service may spend in reconnection

            # attempts until its retry logic gives up and returns an error

            reconnectTotalTimeThreshold: 3600s

            # It sets the delivery service <-> ordering service node connection timeout

            connTimeout: 3s

            # It sets the delivery service maximal delay between consecutive retries

            reConnectBackoffThreshold: 3600s

            # A list of orderer endpoint addresses which should be overridden

            # when found in channel configurations.

            addressOverrides:

            #  - from:

            #    to:

            #    caCertsFile:

            #  - from:

            #    to:

            #    caCertsFile:

        # Type for the local MSP - by default it's of type bccsp

        localMspType: bccsp

        # Used with Go profiling tools only in none production environment. In

        # production, it should be disabled (eg enabled: false)

        profile:

            enabled:     false

            listenAddress: 0.0.0.0:6060

        # Handlers defines custom handlers that can filter and mutate

        # objects passing within the peer, such as:

        #   Auth filter - reject or forward proposals from clients

        #   Decorators  - append or mutate the chaincode input passed to the chaincode

        #   Endorsers   - Custom signing over proposal response payload and its mutation

        # Valid handler definition contains:

        #   - A name which is a factory method name defined in

        #     core/handlers/library/library.go for statically compiled handlers

        #   - library path to shared object binary for pluggable filters

        # Auth filters and decorators are chained and executed in the order that

        # they are defined. For example:

        # authFilters:

        #   -

        #     name: FilterOne

        #     library: /opt/lib/filter.so

        #   -

        #     name: FilterTwo

        # decorators:

        #   -

        #     name: DecoratorOne

        #   -

        #     name: DecoratorTwo

        #     library: /opt/lib/decorator.so

        # Endorsers are configured as a map that its keys are the endorsement system chaincodes that are being overridden.

        # Below is an example that overrides the default ESCC and uses an endorsement plugin that has the same functionality

        # as the default ESCC.

        # If the 'library' property is missing, the name is used as the constructor method in the builtin library similar

        # to auth filters and decorators.

        # endorsers:

        #   escc:

        #     name: DefaultESCC

        #     library: /etc/hyperledger/fabric/plugin/escc.so

        handlers:

            authFilters:

              -

                name: DefaultAuth

              -

                name: ExpirationCheck    # This filter checks identity x509 certificate expiration

            decorators:

              -

                name: DefaultDecorator

            endorsers:

              escc:

                name: DefaultEndorsement

                library:

            validators:

              vscc:

                name: DefaultValidation

                library:

        #    library: /etc/hyperledger/fabric/plugin/escc.so

        # Number of goroutines that will execute transaction validation in parallel.

        # By default, the peer chooses the number of CPUs on the machine. Set this

        # variable to override that choice.

        # NOTE: overriding this value might negatively influence the performance of

        # the peer so please change this value only if you know what you're doing

        validatorPoolSize:

        # The discovery service is used by clients to query information about peers,

        # such as - which peers have joined a certain channel, what is the latest

        # channel config, and most importantly - given a chaincode and a channel,

        # what possible sets of peers satisfy the endorsement policy.

        discovery:

            enabled: true

            # Whether the authentication cache is enabled or not.

            authCacheEnabled: true

            # The maximum size of the cache, after which a purge takes place

            authCacheMaxSize: 1000

            # The proportion (0 to 1) of entries that remain in the cache after the cache is purged due to overpopulation

            authCachePurgeRetentionRatio: 0.75

            # Whether to allow non-admins to perform non channel scoped queries.

            # When this is false, it means that only peer admins can perform non channel scoped queries.

            orgMembersAllowedAccess: false

        # Limits is used to configure some internal resource limits.

        limits:

            # Concurrency limits the number of concurrently running requests to a service on each peer.

            # Currently this option is only applied to endorser service and deliver service.

            # When the property is missing or the value is 0, the concurrency limit is disabled for the service.

            concurrency:

                # endorserService limits concurrent requests to endorser service that handles chaincode deployment, query and invocation,

                # including both user chaincodes and system chaincodes.

                endorserService: 2500

                # deliverService limits concurrent event listeners registered to deliver service for blocks and transaction events.

                deliverService: 2500

    ###############################################################################

    #

    #    VM section

    #

    ###############################################################################

    vm:

        # Endpoint of the vm management system.  For docker can be one of the following in general

        # unix:///var/run/docker.sock

        # http://localhost:2375

        # https://localhost:2376

        endpoint: unix:///var/run/docker.sock

        # settings for docker vms

        docker:

            tls:

                enabled: false

                ca:

                    file: docker/ca.crt

                cert:

                    file: docker/tls.crt

                key:

                    file: docker/tls.key

            # Enables/disables the standard out/err from chaincode containers for

            # debugging purposes

            attachStdout: false

            # Parameters on creating docker container.

            # Container may be efficiently created using ipam & dns-server for cluster

            # NetworkMode - sets the networking mode for the container. Supported

            # standard values are: `host`(default),`bridge`,`ipvlan`,`none`.

            # Dns - a list of DNS servers for the container to use.

            # Note:  `Privileged` `Binds` `Links` and `PortBindings` properties of

            # Docker Host Config are not supported and will not be used if set.

            # LogConfig - sets the logging driver (Type) and related options

            # (Config) for Docker. For more info,

            # https://docs.docker.com/engine/admin/logging/overview/

            # Note: Set LogConfig using Environment Variables is not supported.

            hostConfig:

                NetworkMode: host

                Dns:

                   # - 192.168.0.1

                LogConfig:

                    Type: json-file

                    Config:

                        max-size: "50m"

                        max-file: "5"

                Memory: 2147483648

    ###############################################################################

    #

    #    Chaincode section

    #

    ###############################################################################

    chaincode:

        # The id is used by the Chaincode stub to register the executing Chaincode

        # ID with the Peer and is generally supplied through ENV variables

        # the `path` form of ID is provided when installing the chaincode.

        # The `name` is used for all other requests and can be any string.

        id:

            path:

            name:

        # Generic builder environment, suitable for most chaincode types

        builder: $(DOCKER_NS)/fabric-ccenv:$(TWO_DIGIT_VERSION)

        # Enables/disables force pulling of the base docker images (listed below)

        # during user chaincode instantiation.

        # Useful when using moving image tags (such as :latest)

        pull: false

        golang:

            # golang will never need more than baseos

            runtime: $(DOCKER_NS)/fabric-baseos:$(TWO_DIGIT_VERSION)

            # whether or not golang chaincode should be linked dynamically

            dynamicLink: false

        java:

            # This is an image based on java:openjdk-8 with addition compiler

            # tools added for java shim layer packaging.

            # This image is packed with shim layer libraries that are necessary

            # for Java chaincode runtime.

            runtime: $(DOCKER_NS)/fabric-javaenv:$(TWO_DIGIT_VERSION)

        node:

            # This is an image based on node:$(NODE_VER)-alpine

            runtime: $(DOCKER_NS)/fabric-nodeenv:$(TWO_DIGIT_VERSION)

        # List of directories to treat as external builders and launchers for

        # chaincode. The external builder detection processing will iterate over the

        # builders in the order specified below.

        externalBuilders: []

            # - path: /path/to/directory

            #   name: descriptive-builder-name

            #   propagateEnvironment:

            #      - ENVVAR_NAME_TO_PROPAGATE_FROM_PEER

            #      - GOPROXY

        # The maximum duration to wait for the chaincode build and install process

        # to complete.

        installTimeout: 300s

        # Timeout duration for starting up a container and waiting for Register

        # to come through.

        startuptimeout: 300s

        # Timeout duration for Invoke and Init calls to prevent runaway.

        # This timeout is used by all chaincodes in all the channels, including

        # system chaincodes.

        # Note that during Invoke, if the image is not available (e.g. being

        # cleaned up when in development environment), the peer will automatically

        # build the image, which might take more time. In production environment,

        # the chaincode image is unlikely to be deleted, so the timeout could be

        # reduced accordingly.

        executetimeout: 30s

        # There are 2 modes: "dev" and "net".

        # In dev mode, user runs the chaincode after starting peer from

        # command line on local machine.

        # In net mode, peer will run chaincode in a docker container.

        mode: net

        # keepalive in seconds. In situations where the communication goes through a

        # proxy that does not support keep-alive, this parameter will maintain connection

        # between peer and chaincode.

        # A value <= 0 turns keepalive off

        keepalive: 0

        # enabled system chaincodes

        system:

            _lifecycle: enable

            cscc: enable

            lscc: enable

            qscc: enable

        # Logging section for the chaincode container

        logging:

          # Default level for all loggers within the chaincode container

          level:  info

          # Override default level for the 'shim' logger

          shim:   warning

          # Format for the chaincode container logs

          format: '%{color}%{time:2006-01-02 15:04:05.000 MST} [%{module}] %{shortfunc} -> %{level:.4s} %{id:03x}%{color:reset} %{message}'

    ###############################################################################

    #

    #    Ledger section - ledger configuration encompasses both the blockchain

    #    and the state

    #

    ###############################################################################

    ledger:

      blockchain:

      state:

        # stateDatabase - options are "goleveldb", "CouchDB"

        # goleveldb - default state database stored in goleveldb.

        # CouchDB - store state database in CouchDB

        stateDatabase: goleveldb

        # Limit on the number of records to return per query

        totalQueryLimit: 100000

        couchDBConfig:

           # It is recommended to run CouchDB on the same server as the peer, and

           # not map the CouchDB container port to a server port in docker-compose.

           # Otherwise proper security must be provided on the connection between

           # CouchDB client (on the peer) and server.

           couchDBAddress: 127.0.0.1:5984

           # This username must have read and write authority on CouchDB

           username:

           # The password is recommended to pass as an environment variable

           # during start up (eg CORE_LEDGER_STATE_COUCHDBCONFIG_PASSWORD).

           # If it is stored here, the file must be access control protected

           # to prevent unintended users from discovering the password.

           password:

           # Number of retries for CouchDB errors

           maxRetries: 3

           # Number of retries for CouchDB errors during peer startup.

           # The delay between retries doubles for each attempt.

           # Default of 10 retries results in 11 attempts over 2 minutes.

           maxRetriesOnStartup: 10

           # CouchDB request timeout (unit: duration, e.g. 20s)

           requestTimeout: 35s

           # Limit on the number of records per each CouchDB query

           # Note that chaincode queries are only bound by totalQueryLimit.

           # Internally the chaincode may execute multiple CouchDB queries,

           # each of size internalQueryLimit.

           internalQueryLimit: 1000

           # Limit on the number of records per CouchDB bulk update batch

           maxBatchUpdateSize: 1000

           # Warm indexes after every N blocks.

           # This option warms any indexes that have been

           # deployed to CouchDB after every N blocks.

           # A value of 1 will warm indexes after every block commit,

           # to ensure fast selector queries.

           # Increasing the value may improve write efficiency of peer and CouchDB,

           # but may degrade query response time.

           warmIndexesAfterNBlocks: 1

           # Create the _global_changes system database

           # This is optional.  Creating the global changes database will require

           # additional system resources to track changes and maintain the database

           createGlobalChangesDB: false

           # CacheSize denotes the maximum mega bytes (MB) to be allocated for the in-memory state

           # cache. Note that CacheSize needs to be a multiple of 32 MB. If it is not a multiple

           # of 32 MB, the peer would round the size to the next multiple of 32 MB.

           # To disable the cache, 0 MB needs to be assigned to the cacheSize.

           cacheSize: 64

      history:

        # enableHistoryDatabase - options are true or false

        # Indicates if the history of key updates should be stored.

        # All history 'index' will be stored in goleveldb, regardless if using

        # CouchDB or alternate database for the state.

        enableHistoryDatabase: true

      pvtdataStore:

        # the maximum db batch size for converting

        # the ineligible missing data entries to eligible missing data entries

        collElgProcMaxDbBatchSize: 5000

        # the minimum duration (in milliseconds) between writing

        # two consecutive db batches for converting the ineligible missing data entries to eligible missing data entries

        collElgProcDbBatchesInterval: 1000

        # The missing data entries are classified into two categories:

        # (1) prioritized

        # (2) deprioritized

        # Initially, all missing data are in the prioritized list. When the

        # reconciler is unable to fetch the missing data from other peers,

        # the unreconciled missing data would be moved to the deprioritized list.

        # The reconciler would retry deprioritized missing data after every

        # deprioritizedDataReconcilerInterval (unit: minutes). Note that the

        # interval needs to be greater than the reconcileSleepInterval

        deprioritizedDataReconcilerInterval: 60m

    ###############################################################################

    #

    #    Operations section

    #

    ###############################################################################

    operations:

        # host and port for the operations server

        listenAddress: 127.0.0.1:9443

        # TLS configuration for the operations endpoint

        tls:

            # TLS enabled

            enabled: false

            # path to PEM encoded server certificate for the operations server

            cert:

                file:

            # path to PEM encoded server key for the operations server

            key:

                file:

            # most operations service endpoints require client authentication when TLS

            # is enabled. clientAuthRequired requires client certificate authentication

            # at the TLS layer to access all resources.

            clientAuthRequired: false

            # paths to PEM encoded ca certificates to trust for client authentication

            clientRootCAs:

                files: []

    ###############################################################################

    #

    #    Metrics section

    #

    ###############################################################################

    metrics:

        # metrics provider is one of statsd, prometheus, or disabled

        provider: disabled

        # statsd configuration

        statsd:

            # network type: tcp or udp

            network: udp

            # statsd server address

            address: 127.0.0.1:8125

            # the interval at which locally cached counters and gauges are pushed

            # to statsd; timings are pushed immediately

            writeInterval: 10s

            # prefix is prepended to all emitted statsd metrics

            prefix:

  • 相关阅读:
    解决执行maven项目出现 SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder”. error
    linux yum命令详解
    解决 jenkins 下使用 HTML Publisher 插件后查看 html 报告显示不正常
    Centos6.5上安装sonarqube6.7.6
    Linux下解决高并发socket最大连接数限制,tcp默认1024个连接
    Linux 系统下安装 mysql5.7.25(glibc版)
    高版本sonar安装遇到的坑-sonar 6.7.5
    接口自动化测试框架 :APIAutoTest框架
    Netstat 的 10 个基本用法
    互联网测试开发面试题集锦(二)
  • 原文地址:https://www.cnblogs.com/jiftle/p/15330880.html
Copyright © 2011-2022 走看看