Rozwiązywanie problemu z błędem inicjalizacji SON Overlay w IBM WebSphere
Podczas niedawnej konfiguracji IBM WebSphere w wersji 8.5 natknąłem się na pewien kłopotliwy błąd, który chciałbym z Wami omówić.
[7/1/13 0:21:33:113 SGT] 00000001 P2PBase E ODCF8005E: W trakcie inicjalizacji nakładki SON wystąpił nieoczekiwany wyjątek; wyjątek to java.io.IOException: Warstwa P2P nie mogła powiązać się z portem UDP. 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)
Czy spotkaliście się z podobną sytuacją?
Ten problem zazwyczaj wynika z konfliktu lub braku konfiguracji parametru OVERLAY_TCP_LISTENER_ADDRESS.
Aby go rozwiązać, należy zweryfikować i upewnić się, że wspomniany parametr jest poprawnie ustawiony i nie powoduje konfliktów.
- Uruchom menedżera wdrożeń (DMGR).
- Zatrzymaj wszelkie działające maszyny JVM na problematycznym węźle.
- Zatrzymaj agenta węzła.
- Zaloguj się do konsoli administracyjnej i przejdź do:
Administracja systemu >> Agenty węzłów >> agent_węzła >> Porty
Czy widzisz w tym miejscu pozycje OVERLAY_TCP_LISTENER_ADDRESS oraz OVERLAY_UDP_LISTENER_ADDRESS?
Jeśli je widzisz, zanotuj numery portów, z których korzystają.
Jeśli ich nie ma, stwórz je, wykonując poniższe kroki:
Dla protokołu UDP:
- Kliknij „Nowy”.
- Zaznacz opcję „Port zdefiniowany przez użytkownika”.
- Wpisz nazwę portu: OVERLAY_UDP_LISTENER_ADDRESS.
- Wpisz nazwę hosta: localhost.
- Wpisz numer portu: 21001 (lub jakikolwiek nieużywany numer portu na serwerze).
Dla protokołu TCP:
- Kliknij „Nowy”.
- Zaznacz opcję „Port zdefiniowany przez użytkownika”.
- Wpisz nazwę portu: OVERLAY_TCP_LISTENER_ADDRESS.
- Wpisz nazwę hosta: localhost.
- Wpisz numer portu: 21002 (lub jakikolwiek inny nieużywany numer portu na serwerze).
Następnie należy sprawdzić, czy porty agenta węzła nie kolidują z ustawieniami problematycznej maszyny JVM.
Przejdź do: Serwery >> Typy serwerów >> Serwery aplikacji Websphere >> serwer01 >> Porty
Czy w tym miejscu również widoczne są porty OVERLAY_TCP_LISTENER_ADDRESS i OVERLAY_UDP_LISTENER_ADDRESS?
Jeśli tak, sprawdź, czy nie ma konfliktu z portami agenta węzła. Jeśli ich nie ma, dodaj je, postępując analogicznie do wcześniejszych instrukcji.
Dla UDP:
- Kliknij „Nowy”.
- Zaznacz opcję „Port zdefiniowany przez użytkownika”.
- Wpisz nazwę portu: OVERLAY_UDP_LISTENER_ADDRESS.
- Wpisz nazwę hosta: localhost.
- Wpisz numer portu: 21003 (lub inny nieużywany numer portu).
Dla TCP:
- Kliknij „Nowy”.
- Zaznacz opcję „Port zdefiniowany przez użytkownika”.
- Wpisz nazwę portu: OVERLAY_TCP_LISTENER_ADDRESS.
- Wpisz nazwę hosta: localhost.
- Wpisz numer portu: 21004 (lub jakikolwiek wolny numer portu na serwerze).
Zapisz zmiany w konfiguracji i przeprowadź synchronizację węzła.
./syncNode.sh localhost <numer portu SOAP>
Uruchom agenta węzła oraz maszynę JVM.
Czy to rozwiązanie okazało się pomocne?
Czy podobał Ci się ten artykuł? Zachęcam do podzielenia się nim z innymi!
newsblog.pl