Нещодавно, під час налаштування IBM WebSphere 8.5, я зіткнувся з певною помилкою, що змусила мене пошукати рішення.
[7/1/13 0:21:33:113 SGT] 00000001 P2PBase E ODCF8005E: Під час ініціалізації оверлею SON сталася неочікувана виняткова ситуація; винятком є java.io.IOException: P2P-рівень не зміг прив’язатися до 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)
Чи ви маєте схожу проблему?
Ця неприємність зазвичай виникає через конфлікт або відсутність параметра OVERLAY_TCP_LISTENER_ADDRESS.
Щоб виправити це, необхідно перевірити наявність цього параметра та впевнитися, що він не конфліктує з іншими.
- Запустіть DMGR
- Зупиніть всі JVM, що працюють на проблемному вузлі
- Зупиніть Nodeagent
- Увійдіть до консолі адміністратора та перейдіть до наступного розділу:
Системне адміністрування >> nodeagent >> nodeagent >> порти
Чи бачите ви тут OVERLAY_TCP_LISTENER_ADDRESS та OVERLAY_UDP_LISTENER_ADDRESS?
Якщо так, збережіть номери портів.
Якщо ні, то створіть їх, дотримуючись наступних інструкцій:
Для UDP:
- Натисніть “Створити”
- Виберіть “Порт, визначений користувачем”
- Введіть назву порту – OVERLAY_UDP_LISTENER_ADDRESS
- Вкажіть ім’я хоста – localhost
- Введіть номер порту – 21001 (або будь-який інший вільний порт на сервері)
Для TCP:
- Натисніть “Створити”
- Виберіть “Порт, визначений користувачем”
- Введіть назву порту – OVERLAY_TCP_LISTENER_ADDRESS
- Вкажіть ім’я хоста – localhost
- Введіть номер порту – 21002 (або будь-який інший вільний порт на сервері)
Тепер необхідно перевірити номери портів між nodeagent та проблемною JVM.
Перейдіть до розділу: Сервери >> типи серверів >> сервери додатків Websphere >> server01 >> порти
Чи бачите ви тут OVERLAY_TCP_LISTENER_ADDRESS і OVERLAY_UDP_LISTENER_ADDRESS?
Якщо так, впевніться, що вони не конфліктують з портами nodeagent. Якщо ж їх немає, створіть нові порти згідно з наступними інструкціями.
Для UDP:
- Натисніть “Створити”
- Виберіть “Порт, визначений користувачем”
- Введіть назву порту – OVERLAY_UDP_LISTENER_ADDRESS
- Вкажіть ім’я хоста – localhost
- Введіть номер порту – 21003 (або будь-який інший вільний порт на сервері)
Для TCP:
- Натисніть “Створити”
- Виберіть “Порт, визначений користувачем”
- Введіть назву порту – OVERLAY_TCP_LISTENER_ADDRESS
- Вкажіть ім’я хоста – localhost
- Введіть номер порту – 21004 (або будь-який інший вільний порт на сервері)
Збережіть зміни конфігурації та синхронізуйте вузол.
./syncNode.sh localhost <номер SOAP-порту>
Запустіть nodeagent та JVM.
Чи допомогло?
Чи була стаття корисною? Будь ласка, поділіться нею з іншими!