Ошибка инициализации канала TCP при запуске Websphere Application Server
Я столкнулся с ошибкой при попытке запустить сервер приложений websphere.
TCP-канал TCPInboundChannel_ipcc.Default_IPC_Connector_Name инициализация не удалась. Не удалось выполнить привязку сокета для локального хоста и порта 9633. Возможно, порт уже используется.
Ниже приведена трассировка стека ошибки:
[9/13/10 15:35:12:942 SGT] 00000000 JMXSoapAdapte A ADMC0013I: The SOAP connector is available at port 8880
[9/13/10 15:35:12:967 SGT] 00000000 TCPPort E TCPC0003E: TCP Channel TCPInboundChannel_ipcc.Default_IPC_Connector_Name initialization failed. The socket bind failed for host localhost and port 9633. The port may already be in use.
[9/13/10 15:35:12:992 SGT] 00000000 IPCConnectorS E ADMC0072E: Failed to initialize or start channel chain IPCCInboundChain.Default_IPC_Connector_Name/LC_IPCCInboundChain.Default_IPC_Connector_Name due to exception com.ibm.wsspi.channel.framework.exception.ChainGroupException:
Error initializing chain IPCCInboundChain.Default_IPC_Connector_Name in group IPCCInboundGroup.Default_IPC_Connector_Name, exception=com.ibm.wsspi.channel.framework.exception.RetryableChannelException: Cannot assign requested address: bind
at com.ibm.ws.channel.framework.impl.ChannelFrameworkImpl.initChainGroup(ChannelFrameworkImpl.java:3667)
at com.ibm.ws.runtime.component.ChannelFrameworkServiceImpl.initChainGroup(ChannelFrameworkServiceImpl.java:772)
at com.ibm.ws.management.connector.ipc.IPCConnectorServer.start(IPCConnectorServer.java:330)
at com.ibm.ws.management.component.JMXConnectors.startIPCConnector(JMXConnectors.java:970)
at com.ibm.ws.management.component.JMXConnectors.stateChanged(JMXConnectors.java:2211)
at com.ibm.ws.security.core.distSecurityComponentImpl.fireEvent(distSecurityComponentImpl.java:2181)
at com.ibm.ws.security.core.distSecurityComponentImpl.fireStartedEvent(distSecurityComponentImpl.java:2143)
at com.ibm.ws.security.core.distSecurityComponentImpl.startSecurity(distSecurityComponentImpl.java:642)
at com.ibm.ws.security.core.SecurityComponentImpl.startSecurity(SecurityComponentImpl.java:109)
at com.ibm.ws.security.core.ServerSecurityComponentImpl.start(ServerSecurityComponentImpl.java:338)
at com.ibm.ws.runtime.component.ContainerHelper.startComponents(ContainerHelper.java:538)
at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:627)
at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:618)
at com.ibm.ws.runtime.component.ApplicationServerImpl.start(ApplicationServerImpl.java:227)
at com.ibm.ws.runtime.component.ContainerHelper.startComponents(ContainerHelper.java:538)
at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:627)
at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:618)
at com.ibm.ws.runtime.component.ServerImpl.start(ServerImpl.java:503)
at com.ibm.ws.runtime.WsServerImpl.bootServerContainer(WsServerImpl.java:298)
at com.ibm.ws.runtime.WsServerImpl.start(WsServerImpl.java:214)
at com.ibm.ws.runtime.WsServerImpl.main(WsServerImpl.java:666)
at com.ibm.ws.runtime.WsServer.main(WsServer.java:59)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:600)
at com.ibm.wsspi.bootstrap.WSLauncher.launchMain(WSLauncher.java:213)
at com.ibm.wsspi.bootstrap.WSLauncher.main(WSLauncher.java:93)
at com.ibm.wsspi.bootstrap.WSLauncher.run(WSLauncher.java:74)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:600)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:340)
at org.eclipse.core.launcher.Main.basicRun(Main.java:282)
at org.eclipse.core.launcher.Main.run(Main.java:981)
at com.ibm.wsspi.bootstrap.WSPreLauncher.launchEclipse(WSPreLauncher.java:340)
at com.ibm.wsspi.bootstrap.WSPreLauncher.main(WSPreLauncher.java:110)
В конце он регистрирует "Сервер server1 открыт для электронного бизнеса", но затем я не могу получить доступ к своему приложению и даже к консоли администратора. Я проверил порт 9633, если он используется через netstat, но это не так. Я также попытался изменить порт на 21633, но он все равно выдает мне ту же ошибку. Странная вещь об этом - у меня нет проблем с запуском моего сервера (и запуском моего приложения на этом сервере) на прошлой неделе, но когда я попытался сделать это вчера, эта ошибка неожиданно показала. Я уже перезапустил свой WAS и даже несколько раз выключал свой компьютер, но безрезультатно. Websphere не работает как служба Windows, и я пытаюсь запустить ее из затмения. Тем не менее, даже если я попытался запустить его в качестве службы, я все равно получаю ту же ошибку. Я не изменил никакой конфигурации, поэтому мне интересно, что может быть причиной этого.
Моя среда: Windows 7, Websphere Application Server 7.0.0.9
Кто-нибудь знаком с этой проблемой? Любая помощь приветствуется! Спасибо!
5 ответов
Я неоднократно получал эту ошибку для (казалось бы) каждого порта, который связывает WAS, хотя никто не прослушивал их до запуска WAS.
Этот поток привел меня к решению: очевидно, была некоторая проблема со стеком IPv6. Так как мне не важен IPv6 для моего использования, я смог сказать JVM, чтобы он предпочел IPv4, установив следующее в setupCmdLine.{bat,sh}
скрипт в моем профиле bin
каталог.
set IBM_JAVA_OPTIONS=-Djava.net.preferIPv4Stack=true
(Измените синтаксис в соответствии с вашей средой, конечно.)
Это было в Windows 8/WAS 8.5 (редакция разработчика).
Убедитесь, что ваше имя хоста в определении порта IPC_CONNECTOR_ADDRESS для сервера говорит localhost, а не имя сервера.
Вы упоминаете, что не можете получить доступ к своему приложению и консоли администратора. Консоль администратора обычно привязана к портам WC_adminhost и WC_adminhost_secured. Вы можете найти их в файле WAS_HOME/ examples/profile_name/properties/portdef.props. Если вы настроили какие-либо порты, убедитесь, что вы не создали конфликт между ними.
Есть ли причина, по которой вы не можете получить доступ к своему приложению через другие стандартные порты? IPC важен только для высокоскоростной связи между локальными экземплярами. Доступ к большинству веб-приложений может осуществляться через порты WC_defaulthost и WC_defaulthost_secure.
Это связано с неправильным разрешением IP для "localhost". Пожалуйста, пропингуйте localhost и убедитесь, что ответ от 127.0.0.1 (loopback) или от фактического IP-адреса самого хоста. Если нет, то исправьте это, и это решит вашу проблему
У меня та же проблема с использованием Websphere v6.1 на Windows 7, с использованием RAD 8.0.4
[18/09/13 09:15:01:036 EST] 00000022 TCPPort E TCPC0003E: TCP Channel TCP_1 initialization failed. The socket bind failed for host * and port 9060. The port may already be in use.
[18/09/13 09:15:02:038 EST] 00000020 TCPPort E TCPC0003E: TCP Channel TCP_2 initialization failed. The socket bind failed for host * and port 80. The port may already be in use.
[18/09/13 09:15:03:111 EST] 00000022 TCPPort E TCPC0003E: TCP Channel TCP_1 initialization failed. The socket bind failed for host * and port 9060. The port may already be in use.
[18/09/13 09:15:04:112 EST] 00000020 TCPPort E TCPC0003E: TCP Channel TCP_2 initialization failed. The socket bind failed for host * and port 80. The port may already be in use.
Вот что я сделал:
- Проверено, что никакие порты не прослушивают на 80 или 9060, открыв командный терминал и запустив 'netstat -a'. Если это так, закройте приложение, используя его, или, если вы не можете, попробуйте выполнить перезагрузку. В противном случае перейдите к шагу 2.
- Следуйте инструкциям здесь: " http://www-01.ibm.com/support/docview.wss?uid=swg21628479".
- Просто обратите внимание на это расположение файла "setupCmdLine.bat". Способ установки моей веб-сферы включает в себя несколько файлов bin/setupCmdLine.bat. Папки, содержащие этот файл, включают в себя "IBM/SDP/runtimes/base_v61/bin"; "IBM/SDP/ время автономной работы / base_v61 / профили /was61profile1"; "IBM/WebSphere/AppServer/ бен"; "IBM / WebSphere / AppServer / профили /AppSrv1/ бен". И это сильно сбивало с толку, потому что если вы примените решение к неправильному файлу, это не повлияет.
- Чтобы найти нужную папку для обновления "setupCmdLine.bat", я зашел в RAD -> вкладка "Серверы" -> щелкнул правой кнопкой мыши по пункту меню Websphere server -> Properties -> WebSphere Application Server v6.1. А на правой стороне находится "Каталог профилей".
- Для меня это указывало на ".../IBM/SDP/runtimes/base_v61/profile / was61profile1"