Erro WebSphere 8.5 SON: Solução Simples para Inicialização!

Resolvendo Erro de Inicialização do SON no IBM WebSphere 8.5

Recentemente, ao configurar o IBM WebSphere 8.5, deparei-me com um erro intrigante que interrompia o processo. O log de erro exibia uma mensagem similar a esta:

[7/1/13 0:21:33:113 SGT] 00000001 P2PBase E   ODCF8005E: Ocorreu uma exceção inesperada ao inicializar a sobreposição SON; a exceção é java.io.IOException:
A camada P2P não conseguiu vincular a uma porta 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)

Se você está enfrentando um problema semelhante, não se preocupe, a solução pode ser mais simples do que parece.

Este erro geralmente surge quando a variável OVERLAY_TCP_LISTENER_ADDRESS está em conflito ou simplesmente não foi definida. Vamos explorar como resolver isso.

O primeiro passo é verificar e garantir que essa variável esteja configurada corretamente e sem conflitos.

Passos para Resolução

  • Inicie o DMGR (Deployment Manager).
  • Se alguma JVM (Java Virtual Machine) estiver em execução no nó problemático, pare-a.
  • Pare o Nodeagent.
  • Acesse o console administrativo e navegue até:

Administração do sistema >> Nodeagents >> Seu_nodeagent >> Portas

Nesta página, você deverá verificar se as entradas OVERLAY_TCP_LISTENER_ADDRESS e OVERLAY_UDP_LISTENER_ADDRESS estão presentes.

Se encontrá-las, anote os números das portas correspondentes.

Caso contrário, siga as próximas instruções para criar essas entradas:

Para configurar a porta UDP:

  • Clique em “Novo”.
  • Selecione a opção “Porta definida pelo usuário”.
  • Defina o “Nome da porta” como OVERLAY_UDP_LISTENER_ADDRESS.
  • Defina o “Nome do host” como localhost.
  • Atribua uma porta não utilizada, por exemplo, 21001.

Para configurar a porta TCP:

  • Clique em “Novo”.
  • Selecione a opção “Porta definida pelo usuário”.
  • Defina o “Nome da porta” como OVERLAY_TCP_LISTENER_ADDRESS.
  • Defina o “Nome do host” como localhost.
  • Atribua uma porta não utilizada, por exemplo, 21002.

Agora, é crucial verificar os números de porta entre o Nodeagent e a JVM problemática.

Navegue até: Servidores >> Tipos de servidor >> Servidores de aplicativos WebSphere >> sua_instância_server >> Portas

Verifique a presença das entradas OVERLAY_TCP_LISTENER_ADDRESS e OVERLAY_UDP_LISTENER_ADDRESS.

Caso estejam presentes, confirme que não há conflito com as portas definidas para o Nodeagent. Se as entradas estiverem faltando, adicione-as seguindo os passos abaixo:

Para a porta UDP na JVM:

  • Clique em “Novo”.
  • Selecione “Porta definida pelo usuário”.
  • Nome da porta: OVERLAY_UDP_LISTENER_ADDRESS.
  • Nome do host: localhost.
  • Porta: Escolha um número não utilizado, como 21003.

Para a porta TCP na JVM:

  • Clique em “Novo”.
  • Selecione “Porta definida pelo usuário”.
  • Nome da porta: OVERLAY_TCP_LISTENER_ADDRESS.
  • Nome do host: localhost.
  • Porta: Escolha uma porta livre, como 21004.

Após a configuração, salve as alterações e sincronize o nó utilizando o comando:

./syncNode.sh localhost <número da porta SOAP>

Por fim, reinicie o Nodeagent e a JVM.

Espero que esta solução tenha sido útil.

Gostaria de compartilhar este artigo com outras pessoas? Sinta-se à vontade para divulgar!