设置Hyperledger Fabric Dev模式时端口报错
Port error when setting up Dev mode of Hyperledger Fabric
我正在按照Hyperledger fabric官网的说明设置开发环境:
https://hyperledger-fabric.readthedocs.io/en/latest/peer-chaincode-devmode.html
我已经使用以下方法成功启动了订购者:
ORDERER_GENERAL_GENESISPROFILE=SampleDevModeSolo orderer
这个命令一开始不起作用,但在我 cd fabric/sampleconfig
之后它起作用了
2020-12-21 11:23:15.084 CST [orderer.common.server] Main -> INFO 009 Starting orderer: Version: 2.3.0 Commit SHA: dc2e59b3c Go version: go1.15.6 OS/Arch: darwin/amd64
2020-12-21 11:23:15.084 CST [orderer.common.server] Main -> INFO 00a Beginning to serve requests
但是当我使用以下方式启动对等点时:
export PATH=$(pwd)/build/bin:$PATH
export FABRIC_CFG_PATH=$(pwd)/sampleconfig
export FABRIC_LOGGING_SPEC=chaincode=debug
export CORE_PEER_CHAINCODELISTENADDRESS=0.0.0.0:7052
peer node start --peer-chaincodedev=true
发现错误:
FABRIC_LOGGING_SPEC=chaincode=debug
CORE_PEER_CHAINCODELISTENADDRESS=0.0.0.0:7052
peer node start --peer-chaincodedev=true
2020-12-21 11:25:13.047 CST [nodeCmd] serve -> INFO 001 Starting peer: Version: 2.3.0 Commit SHA: dc2e59b3c Go version: go1.15.6 OS/Arch: darwin/amd64 Chaincode: Base Docker Label: org.hyperledger.fabric Docker Namespace: hyperledger
2020-12-21 11:25:13.048 CST [peer] getLocalAddress -> INFO 002 Auto-detected peer address: 10.200.83.208:7051
2020-12-21 11:25:13.048 CST [peer] getLocalAddress -> INFO 003 Host is 0.0.0.0 , falling back to auto-detected address: 10.200.83.208:7051 Error: failed to initialize operations subsystem: listen tcp 127.0.0.1:9443: bind: address already in use
这是错误:
Error: failed to initialize operations subsystem: listen tcp 127.0.0.1:9443: bind: address already in use
我检查了这个问题,这似乎是因为对等节点使用相同的端口 9443 作为相同服务的排序节点。如何分别获取两个节点运行? docker 似乎也是 运行。
如果你看到你的错误,你可以很容易地跟进
Error: failed to initialize operations subsystem: listen tcp 127.0.0.1:9443: bind: address already in use
据说9443端口已经被占用
看来您不是 运行 基于 docker 的虚拟网络上作为单独容器的排序者和对等方,而是主机 pc 上的 运行。
这最终似乎与两台服务器在您的电脑上请求一个端口 9443 发生冲突。\
参考下面fabric-2.3/sampleconfig
的配置,可以看到服务器都分配了9443端口。将其中一个分配给另一个端口可以解决这个问题。
fabric-2.3/sampleconfig/orderer.yaml
configuration of orderer
# orderer.yaml
...
Admin:
# host and port for the admin server
ListenAddress: 127.0.0.1:9443
...
fabric-2.3/sampleconfig/core.yaml
configuration of peer
# core.yaml
...
operations:
# host and port for the operations server
# listenAddress: 127.0.0.1:9443
listenAddress: 127.0.0.1:10443
...
这不是端口映射/冲突问题的直接答案,但我们使用新的 Kubernetes Test Network 作为开发平台 运行ning 在本地系统上取得了巨大的成功KIND 中的虚拟 Kubernetes 集群 运行ning(Docker 中的 Kubernetes)。
在此模式下,可以使用网关客户端(通过端口转发或入口公开)开发应用程序,智能合约 运行宁即服务可以在集群中启动或 运行 在本地主机上 OS 在容器、二进制文件中或在调试器中启动。
development setup 的文档仍然很少,但我们很乐意听到对整体方法的反馈,因为它为在开发环境中使用测试网络提供了指数级更好的体验。一般来说,在本地 Kubernetes 集群上工作时,Compose 的“端口杂耍”过程不再相关。在此模式下,您可以运行 服务于主机网络,指示peers/orderers/etc。连接到主机 OS.
上的远程进程 运行ning
我正在按照Hyperledger fabric官网的说明设置开发环境: https://hyperledger-fabric.readthedocs.io/en/latest/peer-chaincode-devmode.html 我已经使用以下方法成功启动了订购者:
ORDERER_GENERAL_GENESISPROFILE=SampleDevModeSolo orderer
这个命令一开始不起作用,但在我 cd fabric/sampleconfig
2020-12-21 11:23:15.084 CST [orderer.common.server] Main -> INFO 009 Starting orderer: Version: 2.3.0 Commit SHA: dc2e59b3c Go version: go1.15.6 OS/Arch: darwin/amd64
2020-12-21 11:23:15.084 CST [orderer.common.server] Main -> INFO 00a Beginning to serve requests
但是当我使用以下方式启动对等点时:
export PATH=$(pwd)/build/bin:$PATH
export FABRIC_CFG_PATH=$(pwd)/sampleconfig
export FABRIC_LOGGING_SPEC=chaincode=debug
export CORE_PEER_CHAINCODELISTENADDRESS=0.0.0.0:7052
peer node start --peer-chaincodedev=true
发现错误:
FABRIC_LOGGING_SPEC=chaincode=debug
CORE_PEER_CHAINCODELISTENADDRESS=0.0.0.0:7052
peer node start --peer-chaincodedev=true
2020-12-21 11:25:13.047 CST [nodeCmd] serve -> INFO 001 Starting peer: Version: 2.3.0 Commit SHA: dc2e59b3c Go version: go1.15.6 OS/Arch: darwin/amd64 Chaincode: Base Docker Label: org.hyperledger.fabric Docker Namespace: hyperledger
2020-12-21 11:25:13.048 CST [peer] getLocalAddress -> INFO 002 Auto-detected peer address: 10.200.83.208:7051
2020-12-21 11:25:13.048 CST [peer] getLocalAddress -> INFO 003 Host is 0.0.0.0 , falling back to auto-detected address: 10.200.83.208:7051 Error: failed to initialize operations subsystem: listen tcp 127.0.0.1:9443: bind: address already in use
这是错误:
Error: failed to initialize operations subsystem: listen tcp 127.0.0.1:9443: bind: address already in use
我检查了这个问题,这似乎是因为对等节点使用相同的端口 9443 作为相同服务的排序节点。如何分别获取两个节点运行? docker 似乎也是 运行。
如果你看到你的错误,你可以很容易地跟进
Error: failed to initialize operations subsystem: listen tcp 127.0.0.1:9443: bind: address already in use
据说9443端口已经被占用
看来您不是 运行 基于 docker 的虚拟网络上作为单独容器的排序者和对等方,而是主机 pc 上的 运行。
这最终似乎与两台服务器在您的电脑上请求一个端口 9443 发生冲突。\
参考下面fabric-2.3/sampleconfig
的配置,可以看到服务器都分配了9443端口。将其中一个分配给另一个端口可以解决这个问题。
fabric-2.3/sampleconfig/orderer.yaml
configuration of orderer
# orderer.yaml
...
Admin:
# host and port for the admin server
ListenAddress: 127.0.0.1:9443
...
fabric-2.3/sampleconfig/core.yaml
configuration of peer
# core.yaml
...
operations:
# host and port for the operations server
# listenAddress: 127.0.0.1:9443
listenAddress: 127.0.0.1:10443
...
这不是端口映射/冲突问题的直接答案,但我们使用新的 Kubernetes Test Network 作为开发平台 运行ning 在本地系统上取得了巨大的成功KIND 中的虚拟 Kubernetes 集群 运行ning(Docker 中的 Kubernetes)。
在此模式下,可以使用网关客户端(通过端口转发或入口公开)开发应用程序,智能合约 运行宁即服务可以在集群中启动或 运行 在本地主机上 OS 在容器、二进制文件中或在调试器中启动。
development setup 的文档仍然很少,但我们很乐意听到对整体方法的反馈,因为它为在开发环境中使用测试网络提供了指数级更好的体验。一般来说,在本地 Kubernetes 集群上工作时,Compose 的“端口杂耍”过程不再相关。在此模式下,您可以运行 服务于主机网络,指示peers/orderers/etc。连接到主机 OS.
上的远程进程 运行ning