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!