1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Ignite(五)-报错class org.apache.ignite.IgniteCheckedException: No network addresses found-解决方法

Ignite(五)-报错class org.apache.ignite.IgniteCheckedException: No network addresses found-解决方法

时间:2019-01-13 10:05:03

相关推荐

Ignite(五)-报错class org.apache.ignite.IgniteCheckedException: No network addresses found-解决方法

Ignite-报错class org.apache.ignite.IgniteCheckedException: No network addresses found-解决方法

具体报错源码Debug本地Debug代码maven运行妥协方案-修改源码

具体报错

八月 13, 11:30:46 上午 org.apache.ignite.logger.java.JavaLogger error严重: Failed to start manager: GridManagerAdapter [enabled=true, name=o.a.i.munication.GridIoManager]class org.apache.ignite.IgniteCheckedException: Failed to get SPI attributes.at org.apache.ignite.internal.managers.GridManagerAdapter.startSpi(GridManagerAdapter.java:278)at org.apache.ignite.munication.GridIoManager.start(GridIoManager.java:260)at org.apache.ignite.internal.IgniteKernal.startManager(IgniteKernal.java:1721)at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:952)at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:)at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1723)at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1151)at org.apache.ignite.internal.IgnitionEx.startConfigurations(IgnitionEx.java:1069)at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:955)at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:854)at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:724)at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:693)at org.apache.ignite.Ignition.start(Ignition.java:352)at com.ydfind.ignite.HelloWorld.main(HelloWorld.java:10)Caused by: class org.apache.ignite.spi.IgniteSpiException: Failed to resolve local host to addresses: 0.0.0.0/0.0.0.0at org.apache.munication.tcp.TcpCommunicationSpi.getNodeAttributes(TcpCommunicationSpi.java:2148)at org.apache.ignite.internal.managers.GridManagerAdapter.startSpi(GridManagerAdapter.java:261)... 13 moreCaused by: class org.apache.ignite.IgniteCheckedException: No network addresses found (is networking enabled?).at org.apache.ignite.internal.util.IgniteUtils.resolveLocalAddresses(IgniteUtils.java:2032)at org.apache.ignite.internal.util.IgniteUtils.resolveLocalAddresses(IgniteUtils.java:1991)at org.apache.munication.tcp.TcpCommunicationSpi.getNodeAttributes(TcpCommunicationSpi.java:2131)... 14 more八月 13, 11:30:46 上午 org.apache.ignite.logger.java.JavaLogger error严重: Got exception while starting (will rollback startup routine).class org.apache.ignite.IgniteCheckedException: Failed to start manager: GridManagerAdapter [enabled=true, name=org.apache.ignite.munication.GridIoManager]at org.apache.ignite.internal.IgniteKernal.startManager(IgniteKernal.java:1726)at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:952)at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:)at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1723)at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1151)at org.apache.ignite.internal.IgnitionEx.startConfigurations(IgnitionEx.java:1069)at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:955)at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:854)at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:724)at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:693)at org.apache.ignite.Ignition.start(Ignition.java:352)at com.ydfind.ignite.HelloWorld.main(HelloWorld.java:10)Caused by: class org.apache.ignite.IgniteCheckedException: Failed to get SPI attributes.at org.apache.ignite.internal.managers.GridManagerAdapter.startSpi(GridManagerAdapter.java:278)at org.apache.ignite.munication.GridIoManager.start(GridIoManager.java:260)at org.apache.ignite.internal.IgniteKernal.startManager(IgniteKernal.java:1721)... 11 moreCaused by: class org.apache.ignite.spi.IgniteSpiException: Failed to resolve local host to addresses: 0.0.0.0/0.0.0.0at org.apache.munication.tcp.TcpCommunicationSpi.getNodeAttributes(TcpCommunicationSpi.java:2148)at org.apache.ignite.internal.managers.GridManagerAdapter.startSpi(GridManagerAdapter.java:261)... 13 moreCaused by: class org.apache.ignite.IgniteCheckedException: No network addresses found (is networking enabled?).at org.apache.ignite.internal.util.IgniteUtils.resolveLocalAddresses(IgniteUtils.java:2032)at org.apache.ignite.internal.util.IgniteUtils.resolveLocalAddresses(IgniteUtils.java:1991)at org.apache.munication.tcp.TcpCommunicationSpi.getNodeAttributes(TcpCommunicationSpi.java:2131)... 14 more[11:30:46] Ignite node stopped OK [uptime=00:00:09.092]Exception in thread "main" class org.apache.ignite.IgniteException: Failed to start manager: GridManagerAdapter [enabled=true, name=org.apache.ignite.munication.GridIoManager]at org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:990)at org.apache.ignite.Ignition.start(Ignition.java:355)at com.ydfind.ignite.HelloWorld.main(HelloWorld.java:10)Caused by: class org.apache.ignite.IgniteCheckedException: Failed to start manager: GridManagerAdapter [enabled=true, name=org.apache.ignite.munication.GridIoManager]at org.apache.ignite.internal.IgniteKernal.startManager(IgniteKernal.java:1726)at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:952)at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:)at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1723)at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1151)at org.apache.ignite.internal.IgnitionEx.startConfigurations(IgnitionEx.java:1069)at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:955)at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:854)at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:724)at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:693)at org.apache.ignite.Ignition.start(Ignition.java:352)... 1 moreCaused by: class org.apache.ignite.IgniteCheckedException: Failed to get SPI attributes.at org.apache.ignite.internal.managers.GridManagerAdapter.startSpi(GridManagerAdapter.java:278)at org.apache.ignite.munication.GridIoManager.start(GridIoManager.java:260)at org.apache.ignite.internal.IgniteKernal.startManager(IgniteKernal.java:1721)... 11 moreCaused by: class org.apache.ignite.spi.IgniteSpiException: Failed to resolve local host to addresses: 0.0.0.0/0.0.0.0at org.apache.munication.tcp.TcpCommunicationSpi.getNodeAttributes(TcpCommunicationSpi.java:2148)at org.apache.ignite.internal.managers.GridManagerAdapter.startSpi(GridManagerAdapter.java:261)... 13 moreCaused by: class org.apache.ignite.IgniteCheckedException: No network addresses found (is networking enabled?).at org.apache.ignite.internal.util.IgniteUtils.resolveLocalAddresses(IgniteUtils.java:2032)at org.apache.ignite.internal.util.IgniteUtils.resolveLocalAddresses(IgniteUtils.java:1991)at org.apache.munication.tcp.TcpCommunicationSpi.getNodeAttributes(TcpCommunicationSpi.java:2131)... 14 more

源码Debug

源码打断点调试后最后发现IgniteUtils.reachable(addr, 2000)中2000时间太短了,如下面改为5000ms就没问题

调试使用代码

package com.ydfind.ignite;import org.apache.ignite.IgniteException;import org.apache.ignite.Ignition;/*** Ignite报错调试代码** @author : ydfind* @date : -08-13*/public class IgniteDubegExample {public static void main(String[] args) throws IgniteException {String filename = "D:\\YDGreen\\apache-ignite-fabric-2.6.0-bin/examples/config/example-ignite.xml";Ignition.start(filename);}}

本地Debug

代码

下面的代码基本摘抄自源码

package com.ydfind.ignite.debug;import com.ydfind.ignite.MyNetWork;import org.apache.ignite.IgniteException;import org.apache.ignite.internal.util.IgniteUtils;import org.apache.ignite.internal.util.typedef.F;import java.io.IOException;import .InetAddress;import workInterface;import .SocketException;import java.util.*;import java.util.concurrent.ExecutionException;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Future;/*** Ignite网络调试简单例子** @author : ydfind* @date : -08-13*/public class IgniteSimpleNetExample {public static void main(String[] args) throws SocketException {List<InetAddress> addrs = getAddrs();System.out.println("本地地址" + addrs);addrs = filterReachable(addrs);System.out.println("过滤后本地地址" + addrs);}/*** ignite的网络过滤* @param addrs* @return*/public static List<InetAddress> filterReachable(Collection<InetAddress> addrs) {if (addrs.isEmpty()) {return Collections.emptyList();} else {long startTime = System.currentTimeMillis();if (addrs.size() == 1) {InetAddress addr = (InetAddress) F.first(addrs);return reachable(addr, 2000) ? Collections.singletonList(addr) : Collections.emptyList();} else {final List<InetAddress> res = new ArrayList(addrs.size());Collection<Future<?>> futs = new ArrayList(addrs.size());ExecutorService executor = Executors.newFixedThreadPool(Math.min(10, addrs.size()));try {Iterator var5 = addrs.iterator();while(var5.hasNext()) {final InetAddress addr = (InetAddress)var5.next();futs.add(executor.submit(new Runnable() {@Overridepublic void run() {if (reachable(addr, 2000)) {synchronized(res) {res.add(addr);}}}}));}var5 = futs.iterator();while(var5.hasNext()) {Future fut = (Future)var5.next();System.out.println("time:" + (System.currentTimeMillis() -startTime));try {fut.get();} catch (InterruptedException var12) {Thread.currentThread().interrupt();throw new IgniteException("Thread has been interrupted.", var12);} catch (ExecutionException var13) {throw new IgniteException(var13);}}} finally {executor.shutdown();}System.out.println("total time:" + (System.currentTimeMillis() -startTime));return res;}}}/**** @param addr* @param reachTimeout* @return*/public static boolean reachable(InetAddress addr, int reachTimeout) {try {boolean reached = addr.isReachable(reachTimeout);return reached;} catch (IOException var3) {return false;}}public static List<InetAddress> getAddrs() throws SocketException {List<InetAddress> locAddrs = new ArrayList();Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();Iterator var6 = IgniteUtils.asIterable(networkInterfaces).iterator();while(var6.hasNext()) {NetworkInterface itf = (NetworkInterface)var6.next();Iterator var8 = IgniteUtils.asIterable(itf.getInetAddresses()).iterator();while(var8.hasNext()) {InetAddress addr = (InetAddress)var8.next();if (!addr.isLinkLocalAddress()) {locAddrs.add(addr);}}}return locAddrs;}}

maven

<dependency><groupId>org.apache.ignite</groupId><artifactId>ignite-core</artifactId><version>2.6.0</version></dependency><dependency><groupId>org.apache.ignite</groupId><artifactId>ignite-spring</artifactId><version>2.6.0</version></dependency><dependency><groupId>org.apache.ignite</groupId><artifactId>ignite-indexing</artifactId><version>2.6.0</version></dependency>

运行

运行结果如下:

若把reachable(addr, 2000)修改为reachable(addr, 3000),就成功了,如下所示

即超时时间太短导致启动失败!

妥协方案-修改源码

具体修改:/sndayYU/article/details/99453955

修改后可以看到源码如下,且能启动成功

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。