首页 > 解决方案 > 在本地机器上运行 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) 并一遍又一遍地重试。

标签: javaspringcachingignite

解决方案


节点应该能够发现自己

在您的情况下,情况似乎并非如此。它已绑定到端口27502,它无法在 找到 Ignite 集群127.0.0.1:47500

将端口范围添加到 VmFinder 列表或减少localPortRange到 1。


推荐阅读