Hantera fel vid installation av IBM WebSphere 8.5
Under mina senaste experiment med att installera IBM WebSphere 8.5, stötte jag på ett specifikt felmeddelande som jag fann vara ganska besvärligt.
[7/1/13 0:21:33:113 SGT] 00000001 P2PBase E ODCF8005E: There was an unexpected exception while initializing the SON overlay; the exception is java.io.IOException: The P2P layer was unable to bind to a UDP port. at com.ibm.son.mesh.RawUDPImpl.<init>(RawUDPImpl.java:89) at com.ibm.son.mesh.UDPFactory.getUDP(UDPFactory.java:31) at com.ibm.son.mesh.Peer.<init>(Peer.java:468) at com.ibm.son.mesh.Peer.<init>(Peer.java:411) at com.ibm.ws.p2p.P2POverlayHelper.getPeer(P2POverlayHelper.java:147) at com.ibm.ws.p2p.P2PBase.getPeer(P2PBase.java:31) at com.ibm.ws.bbson.BBFactoryImpl.<init>(BBFactoryImpl.java:632) at java.lang.J9VMInternals.newInstanceImpl(Native Method) at java.lang.Class.newInstance(Class.java:1564)
Har du också råkat ut för detta?
Felet uppstår vanligen när konfigurationen för OVERLAY_TCP_LISTENER_ADDRESS
är felaktig eller saknas. Detta kan orsaka problem med nätverkskommunikationen mellan WebSphere-komponenter.
Följande steg beskriver hur du kan lösa detta genom att granska och justera inställningarna:
- Starta Deployment Manager (DMGR).
- Om det finns en JVM som körs under noden som orsakar problem, stoppa den.
- Stoppa sedan Nodeagent.
- Logga in på administratörskonsolen.
- Navigera till:
Systemadministration
>Nodeagenter
>[Din nodeagent]
>Portar
.
Finns OVERLAY_TCP_LISTENER_ADDRESS
och OVERLAY_UDP_LISTENER_ADDRESS
listade här? Om de finns, notera deras portnummer för framtida referens.
Om dessa portar inte existerar, behöver de skapas enligt anvisningarna nedan:
För UDP:
- Klicka på ”Ny”.
- Välj ”Användardefinierad port”.
- Ange ”OVERLAY_UDP_LISTENER_ADDRESS” som portnamn.
- Ange ”localhost” som värdnamn.
- Välj en ledig port, till exempel 21001 (se till att porten inte redan används av en annan tjänst).
För TCP:
- Klicka på ”Ny”.
- Välj ”Användardefinierad port”.
- Ange ”OVERLAY_TCP_LISTENER_ADDRESS” som portnamn.
- Ange ”localhost” som värdnamn.
- Välj en ledig port, till exempel 21002 (se till att porten inte redan används av en annan tjänst).
Därefter behöver vi kontrollera portnumren som används av den problematiska JVM:
Navigera till: Servrar
> Servertyper
> WebSphere applikationsservrar
> [Din server]
> Portar
.
Finns OVERLAY_TCP_LISTENER_ADDRESS
och OVERLAY_UDP_LISTENER_ADDRESS
även här?
Om de finns, verifiera att deras portnummer inte kolliderar med nodeagentens portar. Om de saknas, skapa dem enligt följande:
För UDP:
- Klicka på ”Ny”.
- Välj ”Användardefinierad port”.
- Ange ”OVERLAY_UDP_LISTENER_ADDRESS” som portnamn.
- Ange ”localhost” som värdnamn.
- Välj en ledig port, exempelvis 21003.
För TCP:
- Klicka på ”Ny”.
- Välj ”Användardefinierad port”.
- Ange ”OVERLAY_TCP_LISTENER_ADDRESS” som portnamn.
- Ange ”localhost” som värdnamn.
- Välj en ledig port, exempelvis 21004.
Spara konfigurationen och synkronisera noden med följande kommando:
./syncNode.sh localhost <soap port number>
Starta därefter Nodeagent och JVM på nytt.
Fungerade det nu?
Hoppas att den här informationen var till nytta. Dela gärna med dig av artikeln om du anser att den kan hjälpa andra!