ODCF8005E – рівень P2P не зміг прив’язатися до порту UDP у WebSphere 8.5

Нещодавно, під час налаштування 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.

Чи допомогло?

Чи була стаття корисною? Будь ласка, поділіться нею з іншими!