В настоящее время я изучаю hyperledger fabri c. Я запустил на моем windows и компьютере Ubuntu локально тестовую сеть hyperledger fabri c, а также сделал сценарий оболочки для добавления новых 0rg3, org4 в разные каналы и также mychannel по умолчанию. Примените к каналу цепной код, отличный от fabcar по умолчанию.
Затем я попытался развернуть тестовую сеть на нашем сервере Centos. Я установил последнюю версию go, node, npm, docker и docker -compose. В качестве второго шага я открыл все необходимые порты, используемые из тестовой сети, с помощью firewall-cmd.
Затем я попробовал: 1. ./network.sh up 2. ./network.sh createChannel
Но при создании канала выдает ошибку
+ peer channel create -o localhost:7050 -c mychannel --ordererTLSHostnameOverride orderer.example.com -f ./channel-artifacts/mychannel.tx --outputBlock ./channel-artifacts/mychannel.block --tls true --cafile /root/go/src/github.com/hyperledger/fabric-samples/test-network/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
+ res=1
+ set +x
Error: failed to create deliver client for orderer: orderer client failed to connect to localhost:7050: failed to create new connection: context deadline exceedediled to create new connection: context deadline exceede
Для исправления я пробовал много подсказок. Также я попытался загрузить самые последние двоичные файлы, а также предложенные в руководстве.
- Я удалил все docker изображения с сервера
docker ps -aq | xargs -n 1 docker stop
docker ps -aq | xargs -n 1 docker rm -v
docker volume prune
docker network prune
docker rmi -f $(docker images -q)
rm -rf fabric-samples
curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap.sh | bash -s -- 2.0.1 1.4.6 0.4.18
Я также просмотрел журналы контейнера docker заказчиков. Когда команда peer channel create -o
пытается запустить, я не получить какие-либо журналы внутри docker контейнерных журналов.
В конце я попробовал setenforce 0
снова, но безуспешно.
Заранее спасибо за любые предложения.
ОБНОВЛЕНИЕ
Журнал из контейнера oreder:
2020-05-05 08:15:11.389 UTC [localconfig] completeInitialization -> WARN 001 General.GenesisFile should be replaced by General.BootstrapFile
2020-05-05 08:15:11.389 UTC [localconfig] completeInitialization -> INFO 002 Kafka.Version unset, setting to 0.10.2.0
2020-05-05 08:15:11.389 UTC [orderer.common.server] prettyPrintStruct -> INFO 003 Orderer config values:
General.ListenAddress = "0.0.0.0"
General.ListenPort = 7050
General.TLS.Enabled = true
General.TLS.PrivateKey = "/var/hyperledger/orderer/tls/server.key"
General.TLS.Certificate = "/var/hyperledger/orderer/tls/server.crt"
General.TLS.RootCAs = [/var/hyperledger/orderer/tls/ca.crt]
General.TLS.ClientAuthRequired = false
General.TLS.ClientRootCAs = []
General.Cluster.ListenAddress = ""
General.Cluster.ListenPort = 0
General.Cluster.ServerCertificate = ""
General.Cluster.ServerPrivateKey = ""
General.Cluster.ClientCertificate = "/var/hyperledger/orderer/tls/server.crt"
General.Cluster.ClientPrivateKey = "/var/hyperledger/orderer/tls/server.key"
General.Cluster.RootCAs = [/var/hyperledger/orderer/tls/ca.crt]
General.Cluster.DialTimeout = 5s
General.Cluster.RPCTimeout = 7s
General.Cluster.ReplicationBufferSize = 20971520
General.Cluster.ReplicationPullTimeout = 5s
General.Cluster.ReplicationRetryTimeout = 5s
General.Cluster.ReplicationBackgroundRefreshInterval = 5m0s
General.Cluster.ReplicationMaxRetries = 12
General.Cluster.SendBufferSize = 10
General.Cluster.CertExpirationWarningThreshold = 168h0m0s
General.Cluster.TLSHandshakeTimeShift = 0s
General.Keepalive.ServerMinInterval = 1m0s
General.Keepalive.ServerInterval = 2h0m0s
General.Keepalive.ServerTimeout = 20s
General.ConnectionTimeout = 0s
General.GenesisMethod = "file"
General.GenesisFile = "/var/hyperledger/orderer/orderer.genesis.block"
General.BootstrapMethod = "file"
General.BootstrapFile = "/var/hyperledger/orderer/orderer.genesis.block"
General.Profile.Enabled = false
General.Profile.Address = "0.0.0.0:6060"
General.LocalMSPDir = "/var/hyperledger/orderer/msp"
General.LocalMSPID = "OrdererMSP"
General.BCCSP.ProviderName = "SW"
General.BCCSP.SwOpts.SecLevel = 256
General.BCCSP.SwOpts.HashFamily = "SHA2"
General.BCCSP.SwOpts.Ephemeral = true
General.BCCSP.SwOpts.FileKeystore.KeyStorePath = ""
General.BCCSP.SwOpts.DummyKeystore =
General.BCCSP.SwOpts.InmemKeystore =
General.Authentication.TimeWindow = 15m0s
General.Authentication.NoExpirationChecks = false
FileLedger.Location = "/var/hyperledger/production/orderer"
FileLedger.Prefix = "hyperledger-fabric-ordererledger"
Kafka.Retry.ShortInterval = 5s
Kafka.Retry.ShortTotal = 10m0s
Kafka.Retry.LongInterval = 5m0s
Kafka.Retry.LongTotal = 12h0m0s
Kafka.Retry.NetworkTimeouts.DialTimeout = 10s
Kafka.Retry.NetworkTimeouts.ReadTimeout = 10s
Kafka.Retry.NetworkTimeouts.WriteTimeout = 10s
Kafka.Retry.Metadata.RetryMax = 3
Kafka.Retry.Metadata.RetryBackoff = 250ms
Kafka.Retry.Producer.RetryMax = 3
Kafka.Retry.Producer.RetryBackoff = 100ms
Kafka.Retry.Consumer.RetryBackoff = 2s
Kafka.Verbose = true
Kafka.Version = 0.10.2.0
Kafka.TLS.Enabled = false
Kafka.TLS.PrivateKey = ""
Kafka.TLS.Certificate = ""
Kafka.TLS.RootCAs = []
Kafka.TLS.ClientAuthRequired = false
Kafka.TLS.ClientRootCAs = []
Kafka.SASLPlain.Enabled = false
Kafka.SASLPlain.User = ""
Kafka.SASLPlain.Password = ""
Kafka.Topic.ReplicationFactor = 1
Debug.BroadcastTraceDir = ""
Debug.DeliverTraceDir = ""
Consensus = map[SnapDir:/var/hyperledger/production/orderer/etcdraft/snapshot WALDir:/var/hyperledger/production/orderer/etcdraft/wal]
Operations.ListenAddress = "127.0.0.1:8443"
Operations.TLS.Enabled = false
Operations.TLS.PrivateKey = ""
Operations.TLS.Certificate = ""
Operations.TLS.RootCAs = []
Operations.TLS.ClientAuthRequired = false
Operations.TLS.ClientRootCAs = []
Metrics.Provider = "disabled"
Metrics.Statsd.Network = "udp"
Metrics.Statsd.Address = "127.0.0.1:8125"
Metrics.Statsd.WriteInterval = 30s
Metrics.Statsd.Prefix = ""
2020-05-05 08:15:11.404 UTC [orderer.common.server] initializeServerConfig -> INFO 004 Starting orderer with TLS enabled
2020-05-05 08:15:11.509 UTC [fsblkstorage] NewProvider -> INFO 005 Creating new file ledger directory at /var/hyperledger/production/orderer/chains
2020-05-05 08:15:11.515 UTC [orderer.common.server] extractSysChanLastConfig -> INFO 006 Bootstrapping because no existing channels
2020-05-05 08:15:11.526 UTC [orderer.common.server] Main -> INFO 007 Setting up cluster for orderer type etcdraft
2020-05-05 08:15:11.526 UTC [orderer.common.server] reuseListener -> INFO 008 Cluster listener is not configured, defaulting to use the general listener on port 7050
2020-05-05 08:15:11.526 UTC [fsblkstorage] newBlockfileMgr -> INFO 009 Getting block information from block storage
2020-05-05 08:15:11.763 UTC [orderer.consensus.etcdraft] HandleChain -> INFO 00a EvictionSuspicion not set, defaulting to 10m0s
2020-05-05 08:15:11.764 UTC [orderer.consensus.etcdraft] createOrReadWAL -> INFO 00b No WAL data found, creating new WAL at path '/var/hyperledger/production/orderer/etcdraft/wal/system-channel' channel=system-channel node=1
2020-05-05 08:15:11.813 UTC [orderer.commmon.multichannel] Initialize -> INFO 00c Starting system channel 'system-channel' with genesis block hash abfe6f42b6e7d524b6ba93e7961ae73f6d0859ea9d77ef093c152f0efb5f006d and orderer type etcdraft
2020-05-05 08:15:11.813 UTC [orderer.consensus.etcdraft] Start -> INFO 00d Starting Raft node channel=system-channel node=1
2020-05-05 08:15:11.813 UTC [orderer.common.cluster] Configure -> INFO 00e Entering, channel: system-channel, nodes: []
2020-05-05 08:15:11.813 UTC [orderer.common.cluster] Configure -> INFO 00f Exiting
2020-05-05 08:15:11.813 UTC [orderer.consensus.etcdraft] start -> INFO 010 Starting raft node as part of a new channel channel=system-channel node=1
2020-05-05 08:15:11.813 UTC [orderer.consensus.etcdraft] becomeFollower -> INFO 011 1 became follower at term 0 channel=system-channel node=1
2020-05-05 08:15:11.813 UTC [orderer.consensus.etcdraft] newRaft -> INFO 012 newRaft 1 [peers: [], term: 0, commit: 0, applied: 0, lastindex: 0, lastterm: 0] channel=system-channel node=1
2020-05-05 08:15:11.813 UTC [orderer.consensus.etcdraft] becomeFollower -> INFO 013 1 became follower at term 1 channel=system-channel node=1
2020-05-05 08:15:11.813 UTC [orderer.common.server] Main -> INFO 014 Starting orderer:
Version: 2.0.1
Commit SHA: 1cfa5da
Go version: go1.13.4
OS/Arch: linux/amd64
2020-05-05 08:15:11.813 UTC [orderer.common.server] Main -> INFO 015 Beginning to serve requests
2020-05-05 08:15:11.813 UTC [orderer.consensus.etcdraft] run -> INFO 016 This node is picked to start campaign channel=system-channel node=1
2020-05-05 08:15:11.837 UTC [orderer.consensus.etcdraft] apply -> INFO 017 Applied config change to add node 1, current nodes in channel: [1] channel=system-channel node=1
2020-05-05 08:15:12.814 UTC [orderer.consensus.etcdraft] Step -> INFO 018 1 is starting a new election at term 1 channel=system-channel node=1
2020-05-05 08:15:12.814 UTC [orderer.consensus.etcdraft] becomePreCandidate -> INFO 019 1 became pre-candidate at term 1 channel=system-channel node=1
2020-05-05 08:15:12.814 UTC [orderer.consensus.etcdraft] poll -> INFO 01a 1 received MsgPreVoteResp from 1 at term 1 channel=system-channel node=1
2020-05-05 08:15:12.814 UTC [orderer.consensus.etcdraft] becomeCandidate -> INFO 01b 1 became candidate at term 2 channel=system-channel node=1
2020-05-05 08:15:12.814 UTC [orderer.consensus.etcdraft] poll -> INFO 01c 1 received MsgVoteResp from 1 at term 2 channel=system-channel node=1
2020-05-05 08:15:12.814 UTC [orderer.consensus.etcdraft] becomeLeader -> INFO 01d 1 became leader at term 2 channel=system-channel node=1
2020-05-05 08:15:12.814 UTC [orderer.consensus.etcdraft] run -> INFO 01e raft.node: 1 elected leader 1 at term 2 channel=system-channel node=1
2020-05-05 08:15:13.178 UTC [orderer.consensus.etcdraft] run -> INFO 01f Raft leader changed: 0 -> 1 channel=system-channel node=1
2020-05-05 08:15:13.178 UTC [orderer.consensus.etcdraft] run -> INFO 020 Start accepting requests as Raft leader at block [0] channel=system-channel node=1
2020-05-05 08:15:13.178 UTC [orderer.consensus.etcdraft] run -> INFO 021 Leader 1 is present, quit campaign channel=system-channel node=1
ОБНОВЛЕНИЕ 2
Я обнаружил, что получаю много ошибок в firewalld после некоторого копания при запуске systemctl status firewalld
May 07 08:40:22 firewalld[1966]: 2020-05-07 08:40:22 ERROR: COMMAND_FAILED: '/sbin/iptables -w2 -t nat -C POSTROUTING -s 172.18.0.0/16 ! -o br-39898f55b0a1 -j MASQUERADE' failed: iptables: No chain/targe...ch by that name.
May 07 08:40:22 firewalld[1966]: 2020-05-07 08:40:22 ERROR: COMMAND_FAILED: '/sbin/iptables -w2 -t nat -C DOCKER -i br-39898f55b0a1 -j RETURN' failed: iptables: Bad rule (does a matching rule exist in that chain?).
May 07 08:40:22 firewalld[1966]: 2020-05-07 08:40:22 ERROR: COMMAND_FAILED: '/sbin/iptables -w2 -D FORWARD -i br-39898f55b0a1 -o br-39898f55b0a1 -j DROP' failed: iptables: Bad rule (does a matching rule ...in that chain?).
May 07 08:40:22 firewalld[1966]: 2020-05-07 08:40:22 ERROR: COMMAND_FAILED: '/sbin/iptables -w2 -t filter -C FORWARD -i br-39898f55b0a1 -o br-39898f55b0a1 -j ACCEPT' failed: iptables: Bad rule (does a ma...in that chain?).
May 07 08:40:22 firewalld[1966]: 2020-05-07 08:40:22 ERROR: COMMAND_FAILED: '/sbin/iptables -w2 -t filter -C FORWARD -i br-39898f55b0a1 ! -o br-39898f55b0a1 -j ACCEPT' failed: iptables: Bad rule (does a ...in that chain?).
May 07 08:40:22 firewalld[1966]: 2020-05-07 08:40:22 ERROR: COMMAND_FAILED: '/sbin/iptables -w2 -t filter -C FORWARD -o br-39898f55b0a1 -j DOCKER' failed: iptables: No chain/target/match by that name.
May 07 08:40:22 firewalld[1966]: 2020-05-07 08:40:22 ERROR: COMMAND_FAILED: '/sbin/iptables -w2 -t filter -C FORWARD -o br-39898f55b0a1 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT' failed: iptab...in that chain?).
May 07 08:40:22 firewalld[1966]: 2020-05-07 08:40:22 ERROR: COMMAND_FAILED: '/sbin/iptables -w2 -D FORWARD -i docker0 -o docker0 -j DROP' failed: iptables: Bad rule (does a matching rule exist in that chain?).
May 07 08:40:22 firewalld[1966]: 2020-05-07 08:40:22 ERROR: COMMAND_FAILED: '/sbin/iptables -w2 -t filter -C DOCKER-USER -j RETURN' failed: iptables: Bad rule (does a matching rule exist in that chain?).
May 07 08:40:22 firewalld[1966]: 2020-05-07 08:40:22 ERROR: COMMAND_FAILED: '/sbin/iptables -w2 -t filter -C FORWARD -j DOCKER-USER' failed: iptables: No chain/target/match by that name.