Corda手动生成节点信息(--just-generate-node-info)强制主机查找 [英] corda generating node info manually (--just-generate-node-info) forces host lookup
问题描述
我正在尝试为我们的云中运行的几个节点生成节点信息文件.我将这些节点放在单独的容器中.我尝试过Corda 3.1和3.2
I am trying to generating node-info files for a few nodes running in our cloud. I bring up these nodes within separate containers. I have tried corda 3.1 and 3.2
我使用以下命令:
java -jar corda.jar --just-generate-node-info
结果是(在节点的日志文件中):
The result is (in the log file of the node):
*java.net.UnknownHostException: controllercontainer
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) ~[?:1.8.0_172]
at java.net.InetAddress$2.lookupAllHostAddr(Unknown Source) ~[?:1.8.0_172]
at java.net.InetAddress.getAddressesFromNameService(Unknown Source) ~[?:1.8.0_172]
at java.net.InetAddress.getAllByName0(Unknown Source) ~[?:1.8.0_172]
at java.net.InetAddress.getAllByName(Unknown Source) ~[?:1.8.0_172]
at java.net.InetAddress.getAllByName(Unknown Source) ~[?:1.8.0_172]
at java.net.InetAddress.getByName(Unknown Source) ~[?:1.8.0_172]
at net.corda.node.utilities.AddressUtils.isPublic(AddressUtils.kt:29) ~[corda-node-3.2-corda.jar:?]
at net.corda.node.internal.Node.tryDetectIfNotPublicHost(Node.kt:265) ~[corda-node-3.2-corda.jar:?]
at net.corda.node.internal.Node.getAdvertisedAddress(Node.kt:251) ~[corda-node-3.2-corda.jar:?]
at net.corda.node.internal.Node.myAddresses(Node.kt:246) ~[corda-node-3.2-corda.jar:?]
at net.corda.node.internal.AbstractNode.updateNodeInfo(AbstractNode.kt:316) ~[corda-node-3.2-corda.jar:?]
at net.corda.node.internal.AbstractNode.access$updateNodeInfo(AbstractNode.kt:105) ~[corda-node-3.2-corda.jar:?]
at net.corda.node.internal.AbstractNode$generateAndSaveNodeInfo$2.invoke(AbstractNode.kt:183) ~[corda-node-3.2-corda.jar:?]
at net.corda.node.internal.AbstractNode$generateAndSaveNodeInfo$2.invoke(AbstractNode.kt:105) ~[corda-node-3.2-corda.jar:?]
at net.corda.node.internal.AbstractNode$initialiseDatabasePersistence$2.invoke(AbstractNode.kt:685) ~[corda-node-3.2-corda.jar:?]
at net.corda.node.internal.AbstractNode$initialiseDatabasePersistence$2.invoke(AbstractNode.kt:105) ~[corda-node-3.2-corda.jar:?]
at net.corda.nodeapi.internal.persistence.CordaPersistence.inTopLevelTransaction(CordaPersistence.kt:152) ~[corda-node-api-3.2-corda.jar:?]
at net.corda.nodeapi.internal.persistence.CordaPersistence.transaction(CordaPersistence.kt:138) ~[corda-node-api-3.2-corda.jar:?]
at net.corda.nodeapi.internal.persistence.CordaPersistence.transaction(CordaPersistence.kt:124) ~[corda-node-api-3.2-corda.jar:?]
at net.corda.nodeapi.internal.persistence.CordaPersistence.transaction(CordaPersistence.kt:131) ~[corda-node-api-3.2-corda.jar:?]
at net.corda.node.internal.AbstractNode.initialiseDatabasePersistence(AbstractNode.kt:684) ~[corda-node-3.2-corda.jar:?]
at net.corda.node.internal.Node.initialiseDatabasePersistence(Node.kt:345) ~[corda-node-3.2-corda.jar:?]
at net.corda.node.internal.AbstractNode.generateAndSaveNodeInfo(AbstractNode.kt:179) ~[corda-node-3.2-corda.jar:?]
at net.corda.node.internal.Node.generateAndSaveNodeInfo(Node.kt:353) ~[corda-node-3.2-corda.jar:?]
at net.corda.node.internal.NodeStartup.startNode(NodeStartup.kt:142) ~[corda-node-3.2-corda.jar:?]
at net.corda.node.internal.NodeStartup.run(NodeStartup.kt:115) [corda-node-3.2-corda.jar:?]
at net.corda.node.Corda.main(Corda.kt:13) [corda-node-3.2-corda.jar:?]*
使用network-bootstapper-corda-3.0.jar,这是正确的,如下所示: https://medium.com/coinmonks/running-corda-dlt-with-kubernetes-3f21c15d4dd8
This is true using the network-bootstapper-corda-3.0.jar as outlined here: https://medium.com/coinmonks/running-corda-dlt-with-kubernetes-3f21c15d4dd8
有没有解决的办法,还是应该使用其他方法来生成这些文件?
Is there a way around this, or am I supposed to generate these files using a different method.
推荐答案
感谢乔尔(Joel)指向具有答案的松弛线程.
Thanks to Joel for pointing to the slack thread that had the answer.
只需添加选项:detectPublicIp = false
Simply adding the option: detectPublicIp=false
node.conf中的
阻止IP查找
in the node.conf prevents IP lookup
这篇关于Corda手动生成节点信息(--just-generate-node-info)强制主机查找的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!