java - 在本地机器上运行 ignite
问题描述
我正在尝试在本地机器上运行 Ignite,但遇到了问题。当我为TcpDiscoveryVmIpFinder指定 localhost 地址和端口时,ignite 不会启动。它卡住了,我在日志中有以下内容:
2019-04-17 16:45:57 DEBUG [ ] TcpDiscoverySpi:123 - Registered SPI MBean: org.apache:clsLdr=3053903b,group=SPIs,name=TcpDiscoverySpi
2019-04-17 16:45:57 DEBUG [ ] TcpDiscoverySpi:123 - Connection check frequency is calculated: 3333
2019-04-17 16:45:57 DEBUG [ ] TcpDiscoverySpi:123 - Message worker started [locNodeId=975988a6-0da5-4dc6-a3f6-2e601aa8b4f4]
2019-04-17 16:45:57 DEBUG [ ] TcpDiscoverySpi:123 - Failed to bind to local port (will try next port within range) [port=47500, localHost=0.0.0.0/0.0.0.0]
2019-04-17 16:45:57 DEBUG [ ] TcpDiscoverySpi:123 - Failed to bind to local port (will try next port within range) [port=47501, localHost=0.0.0.0/0.0.0.0]
2019-04-17 16:45:57 INFO [ ] TcpDiscoverySpi:128 - Successfully bound to TCP port [port=47502, localHost=0.0.0.0/0.0.0.0, locNodeId=975988a6-0da5-4dc6-a3f6-2e601aa8b4f4]
2019-04-17 16:45:57 DEBUG [ ] TcpDiscoverySpi:123 - Local node initialized: TcpDiscoveryNode [id=975988a6-0da5-4dc6-a3f6-2e601aa8b4f4, addrs=[0:0:0:0:0:0:0:1%lo0, ..., 127.0.0.1], sockAddrs=[/[]:47502, /0:0:0:0:0:0:0:1%lo0:47502, /127.0.0.1:47502], discPort=47502, order=0, intOrder=0, lastExchangeTime=1555544757964, loc=true, ver=2.3.0#20171027-sha1:8add7fd5, isClient=false]
2019-04-17 16:45:57 DEBUG [ ] GridContinuousProcessor:123 - collectDiscoveryData [node=975988a6-0da5-4dc6-a3f6-2e601aa8b4f4, loc=975988a6-0da5-4dc6-a3f6-2e601aa8b4f4, locInfos={}, clientInfos={}]
2019-04-17 16:45:58 DEBUG [ ] TcpDiscoverySpi:123 - Message has been sent directly to address [msg=TcpDiscoveryJoinRequestMessage [node=TcpDiscoveryNode [id=975988a6-0da5-4dc6-a3f6-2e601aa8b4f4, addrs=[0:0:0:0:0:0:0:1%lo0, [local_network_address], 127.0.0.1], sockAddrs=[/[local_network_address]:47502, /0:0:0:0:0:0:0:1%lo0:47502, /127.0.0.1:47502], discPort=47502, order=0, intOrder=0, lastExchangeTime=1555544757964, loc=true, ver=2.3.0#20171027-sha1:8add7fd5, isClient=false], dataPacket=org.apache.ignite.spi.discovery.tcp.internal.DiscoveryDataPacket@1662cf61, super=TcpDiscoveryAbstractMessage [sndNodeId=null, id=85321bd2a61-975988a6-0da5-4dc6-a3f6-2e601aa8b4f4, verifierNodeId=null, topVer=0, pendingIdx=0, failedNodes=null, isClient=false]], addr=/127.0.0.1:47500, rmtNodeId=01b0888d-83f1-49a7-8333-bacf66e2e843]
2019-04-17 16:45:58 DEBUG [ ] TcpDiscoverySpi:123 - Concurrent discovery SPI start has been detected (local node should wait).
2019-04-17 16:45:58 DEBUG [ ] GridTimeoutProcessor:123 - Timeout has occurred [obj=CancelableTask [id=65321bd2a61-c88dcf6f-fcc3-4bde-97a6-f74d94cb4e00, endTime=1555544758778, period=3000, cancel=false, task=org.apache.ignite.internal.processors.query.GridQueryProcessor$2@50612dbb], process=true]
2019-04-17 16:46:00 DEBUG [ ] TcpDiscoverySpi:123 - Message has been sent directly to address [msg=TcpDiscoveryJoinRequestMessage [node=TcpDiscoveryNode [id=975988a6-0da5-4dc6-a3f6-2e601aa8b4f4, addrs=[0:0:0:0:0:0:0:1%lo0, [local_network_address], 127.0.0.1], sockAddrs=[/[local_network_address]:47502, /0:0:0:0:0:0:0:1%lo0:47502, /127.0.0.1:47502], discPort=47502, order=0, intOrder=0, lastExchangeTime=1555544757964, loc=true, ver=2.3.0#20171027-sha1:8add7fd5, isClient=false], dataPacket=org.apache.ignite.spi.discovery.tcp.internal.DiscoveryDataPacket@1662cf61, super=TcpDiscoveryAbstractMessage [sndNodeId=null, id=85321bd2a61-975988a6-0da5-4dc6-a3f6-2e601aa8b4f4, verifierNodeId=null, topVer=0, pendingIdx=0, failedNodes=null, isClient=false]], addr=/127.0.0.1:47500, rmtNodeId=01b0888d-83f1-49a7-8333-bacf66e2e843]
2019-04-17 16:46:00 DEBUG [ ] TcpDiscoverySpi:123 - Concurrent discovery SPI start has been detected (local node should wait).
2019-04-17 16:46:00 DEBUG [ ] TcpCommunicationSpi:123 - Balancing data [min0=0, minIdx=0, max0=-1, maxIdx=-1]
2019-04-17 16:46:00 DEBUG [ ] ClientListenerProcessor:123 - Balancing data [min0=0, minIdx=0, max0=-1, maxIdx=-1]
2019-04-17 16:46:00 DEBUG [ ] GridTcpRestProtocol:123 - Balancing data [min0=0, minIdx=0, max0=-1, maxIdx=-1]
2019-04-17 16:46:00 DEBUG [ ] GridTimeoutProcessor:123 - Timeout has occurred [obj=CancelableTask [id=85321bd2a61-c88dcf6f-fcc3-4bde-97a6-f74d94cb4e00, endTime=1555544760928, period=3000, cancel=false, task=MetricsUpdater [prevGcTime=-1, prevCpuTime=-1, super=org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$MetricsUpdater@10c6eb9b]], process=true]
2019-04-17 16:46:01 DEBUG [ ] GridTimeoutProcessor:123 - Timeout has occurred [obj=CancelableTask [id=65321bd2a61-c88dcf6f-fcc3-4bde-97a6-f74d94cb4e00, endTime=1555544761782, period=3000, cancel=false, task=org.apache.ignite.internal.processors.query.GridQueryProcessor$2@50612dbb], process=true]
2019-04-17 16:46:02 DEBUG [ ] TcpDiscoverySpi:123 - Message has been sent directly to address [msg=TcpDiscoveryJoinRequestMessage [node=TcpDiscoveryNode [id=975988a6-0da5-4dc6-a3f6-2e601aa8b4f4, addrs=[0:0:0:0:0:0:0:1%lo0, [local_network_address], 127.0.0.1], sockAddrs=[/[local_network_address]:47502, /0:0:0:0:0:0:0:1%lo0:47502, /127.0.0.1:47502], discPort=47502, order=0, intOrder=0, lastExchangeTime=1555544757964, loc=true, ver=2.3.0#20171027-sha1:8add7fd5, isClient=false], dataPacket=org.apache.ignite.spi.discovery.tcp.internal.DiscoveryDataPacket@1662cf61, super=TcpDiscoveryAbstractMessage [sndNodeId=null, id=85321bd2a61-975988a6-0da5-4dc6-a3f6-2e601aa8b4f4, verifierNodeId=null, topVer=0, pendingIdx=0, failedNodes=null, isClient=false]], addr=/127.0.0.1:47500, rmtNodeId=01b0888d-83f1-49a7-8333-bacf66e2e843]
2019-04-17 16:46:02 DEBUG [ ] TcpDiscoverySpi:123 - Concurrent discovery SPI start has been detected (local node should wait).
2019-04-17 16:46:02 DEBUG [ ] GridTimeoutProcessor:123 - Timeout has occurred [obj=CancelableTask [id=55321bd2a61-c88dcf6f-fcc3-4bde-97a6-f74d94cb4e00, endTime=1555544762764, period=10000, cancel=false, task=org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing$11@8c0f063], process=true]
2019-04-17 16:46:03 DEBUG [ ] GridTimeoutProcessor:123 - Timeout has occurred [obj=CancelableTask [id=85321bd2a61-c88dcf6f-fcc3-4bde-97a6-f74d94cb4e00, endTime=1555544763951, period=3000, cancel=false, task=MetricsUpdater [prevGcTime=101, prevCpuTime=3990, super=org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$MetricsUpdater@10c6eb9b]], process=true]
2019-04-17 16:46:04 DEBUG [ ] TcpDiscoverySpi:123 - Message has been added to queue: TcpDiscoveryStatusCheckMessage [creatorNode=TcpDiscoveryNode [id=975988a6-0da5-4dc6-a3f6-2e601aa8b4f4, addrs=[0:0:0:0:0:0:0:1%lo0, [local_network_address], 127.0.0.1], sockAddrs=[/[local_network_address]:47502, /0:0:0:0:0:0:0:1%lo0:47502, /127.0.0.1:47502], discPort=47502, order=0, intOrder=0, lastExchangeTime=1555544757964, loc=true, ver=2.3.0#20171027-sha1:8add7fd5, isClient=false], failedNodeId=null, status=0, super=TcpDiscoveryAbstractMessage [sndNodeId=null, id=56321bd2a61-975988a6-0da5-4dc6-a3f6-2e601aa8b4f4, verifierNodeId=null, topVer=0, pendingIdx=0, failedNodes=null, isClient=false]]
2019-04-17 16:46:04 DEBUG [ ] TcpDiscoverySpi:123 - Processing message [cls=TcpDiscoveryStatusCheckMessage, id=56321bd2a61-975988a6-0da5-4dc6-a3f6-2e601aa8b4f4]
2019-04-17 16:46:04 DEBUG [ ] TcpDiscoverySpi:123 - Ignore message, local node order is not initialized [msg=TcpDiscoveryStatusCheckMessage [creatorNode=TcpDiscoveryNode [id=975988a6-0da5-4dc6-a3f6-2e601aa8b4f4, addrs=[0:0:0:0:0:0:0:1%lo0, [local_network_address], 127.0.0.1], sockAddrs=[/[local_network_address]:47502, /0:0:0:0:0:0:0:1%lo0:47502, /127.0.0.1:47502], discPort=47502, order=0, intOrder=0, lastExchangeTime=1555544757964, loc=true, ver=2.3.0#20171027-sha1:8add7fd5, isClient=false], failedNodeId=null, status=0, super=TcpDiscoveryAbstractMessage [sndNodeId=null, id=56321bd2a61-975988a6-0da5-4dc6-a3f6-2e601aa8b4f4, verifierNodeId=null, topVer=0, pendingIdx=0, failedNodes=null, isClient=false]], locNode=TcpDiscoveryNode [id=975988a6-0da5-4dc6-a3f6-2e601aa8b4f4, addrs=[0:0:0:0:0:0:0:1%lo0, [local_network_address], 127.0.0.1], sockAddrs=[/[local_network_address]:47502, /0:0:0:0:0:0:0:1%lo0:47502, /127.0.0.1:47502], discPort=47502, order=0, intOrder=0, lastExchangeTime=1555544757964, loc=true, ver=2.3.0#20171027-sha1:8add7fd5, isClient=false]]
2019-04-17 16:46:04 DEBUG [ ] TcpDiscoverySpi:123 - Message has been sent directly to address [msg=TcpDiscoveryJoinRequestMessage [node=TcpDiscoveryNode [id=975988a6-0da5-4dc6-a3f6-2e601aa8b4f4, addrs=[0:0:0:0:0:0:0:1%lo0, [local_network_address], 127.0.0.1], sockAddrs=[/[local_network_address]:47502, /0:0:0:0:0:0:0:1%lo0:47502, /127.0.0.1:47502], discPort=47502, order=0, intOrder=0, lastExchangeTime=1555544757964, loc=true, ver=2.3.0#20171027-sha1:8add7fd5, isClient=false], dataPacket=org.apache.ignite.spi.discovery.tcp.internal.DiscoveryDataPacket@1662cf61, super=TcpDiscoveryAbstractMessage [sndNodeId=null, id=85321bd2a61-975988a6-0da5-4dc6-a3f6-2e601aa8b4f4, verifierNodeId=null, topVer=0, pendingIdx=0, failedNodes=null, isClient=false]], addr=/127.0.0.1:47500, rmtNodeId=01b0888d-83f1-49a7-8333-bacf66e2e843]
2019-04-17 16:46:04 DEBUG [ ] TcpDiscoverySpi:123 - Concurrent discovery SPI start has been detected (local node should wait).
...
我的配置:
<bean id="ignite" class="org.apache.ignite.IgniteSpringBean">
<property name="configuration">
<bean id="ignite.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
<property name="includeEventTypes">
<util:constant static-field="org.apache.ignite.events.EventType.EVTS_CACHE"/>
</property>
<property name="metricsLogFrequency" value="${metricsLogFrequency:0}"/>
<property name="cacheConfiguration">
<list>
<ref bean="authCacheConfig"/>
<ref bean="sessionCacheConfig"/>
<ref bean="loginCacheConfig"/>
</list>
</property>
<property name="discoverySpi">
<bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
<property name="ipFinder">
<bean
class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
<property name="addresses">
<list>
<value>127.0.0.1:47500</value>
</list>
</property>
</bean>
</property>
</bean>
</property>
</bean>
</property>
</bean>
我尝试使用不同的端口,localhost 而不是 127.0.0.1,但它没有帮助。知道这里缺少什么吗?
PS 经过额外的调试后,我发现,我们在这里发送一条消息:org.apache.ignite.spi.discovery.tcp.ServerImpl#sendJoinRequestMessage 并接收 RES_WAIT(200) 并一遍又一遍地重试。
解决方案
节点应该能够发现自己。
在您的情况下,情况似乎并非如此。它已绑定到端口27502
,它无法在 找到 Ignite 集群127.0.0.1:47500
。
将端口范围添加到 VmFinder 列表或减少localPortRange
到 1。
推荐阅读
- node.js - 如何在 Terraform 环境中为用 NodeJS 编写的 lambda 函数实现回归/集成测试?
- reactjs - 如何从 React 功能组件调用 Parent 函数?
- javascript - Django + Bootstrap + Ajax 表单发布外键?
- reactjs - 当 URL 参数更改时,如何让我的页面重新加载?(反应钩子)
- javascript - Chart.js 和 Canvas 有问题
- python - 如何停止对 python 抽象方法的懒惰?
- kotlin - 缩短和更改 Kotlin 中的现有代码
- cypress - 如何使用赛普拉斯在每次注册时生成新电子邮件
- java - Arraylist Java 显示超出范围的索引
- php - 我无法使用 PHP 和 html 表单从 SQLite 表中插入和删除?