Показаны сообщения с ярлыком weblogic. Показать все сообщения
Показаны сообщения с ярлыком weblogic. Показать все сообщения

четверг, 26 января 2012 г.

Ошибка "java.lang.AssertionError: Could not obtain the localhost address" при старте Weblogic-сервера и вариант её решения

Ошибка:
При старте Weblogic-сервера возникает следующая ошибка и происходит ошибка старта (сервер переходит в статус FAILED):
 <BEA-000386> <Server subsystem failed. Reason: java.lang.AssertionError: Could not obtain the localhost address. The most likely cause is an error in the network configuration of this machine.  
 java.lang.AssertionError: Could not obtain the localhost address. The most likely cause is an error in the network configuration of this machine.  
     at weblogic.server.channels.AddressUtils$AddressMaker.getLocalHost(AddressUtils.java:38)  
     at weblogic.server.channels.AddressUtils$AddressMaker.<clinit>(AddressUtils.java:33)  
     at weblogic.server.channels.AddressUtils.getIPAny(AddressUtils.java:154)  
     at weblogic.protocol.configuration.ChannelHelper.checkConsistency(ChannelHelper.java:61)  
     at weblogic.server.channels.ChannelService.start(ChannelService.java:207)  
     at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)  
     at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)  
     at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)  
 Caused By: java.net.UnknownHostException: vm1.mydomain.com : vm1.mydomain.com 
     at java.net.InetAddress.getLocalHost(InetAddress.java:1360)  
     at weblogic.server.channels.AddressUtils$AddressMaker.getLocalHost(AddressUtils.java:36)  
     at weblogic.server.channels.AddressUtils$AddressMaker.<clinit>(AddressUtils.java:33)  
     at weblogic.server.channels.AddressUtils.getIPAny(AddressUtils.java:154)  
     at weblogic.protocol.configuration.ChannelHelper.checkConsistency(ChannelHelper.java:61)  
     at weblogic.server.channels.ChannelService.start(ChannelService.java:207)  
     at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)  
     at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)  
     at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)  
Причина:
По имени хоста (выделено синим выше) на котором напускается Weblogic-сервер невозможно получить его IP-адрес.

Решение:
Варианты решения:
  • Прописать в DNS
  • Прописать в файл /etc/hosts

пятница, 1 июля 2011 г.

Старт Admin и Managed-серверов с использованием Node Manager и WLST

Допущение: Node Manager сконфигурирован. Конфигурирование Node Manager описана здесь
  1. Запускаем Node Manager:
     $  nohup $MIDDLEWARE_HOME/wlserver_10.3/server/bin/startNodeManager.sh &  
    
  2. Открыть консоль и выполнить:
     $  $MIDDLEWARE_HOME/wlserver_10.3/common/bin/wlst.sh  
    
  3. Приконнектиться к Node Manager с помощью nmConnect(). Например:
     wls:/offline> nmConnect('weblogic','welcome1','localhost','5556','soa_domain')
    
    где weblogic - имя администратора WebLogic Server;
        welcome1 - пароль администратора WebLogic Server;
        localhost - имя хоста на котором запущен NodeManager;
        5556 - порт хоста на котором запущен NodeManager;
        soa_domain - имя домена.
  4. Стартовать AdminServer с помощью nmStart(). Например:
     wls:/nm/soa_domain> nmStart('AdminServer')  
    
  5. Стартовать ManagedServer с помощью nmStart(). Например SOA Server:
     wls:/nm/soa_domain> nmStart('soa_server1')  
    
  6. Выйти из консоли.
     wls:/nm/soa_domain> exit()  
    

четверг, 30 июня 2011 г.

Ошибка "javax.net.ssl.SSLKeyException: BAD_CERTIFICATE alert was receive" и вариант её решения

  1. Проинициализировать переменные:
     $ $MIDDLEWARE_HOME/server/bin/setWLSEnv.sh 
    
  2. Выполнить следующую команду (изменить значение имени сервера - выделено красным):
     $ java utils.CertGen -cn server.domain.ru -keyfilepass DemoIdentityPassPhrase 
                          -certfile mycert -keyfile mykey
  3. Выполнить следующую команду:
     $ java utils.ImportPrivateKey -keystore DemoIdentity.jks 
                         -storepass DemoIdentityKeyStorePassPhrase 
                         -keyfile mykey.pem -keyfilepass DemoIdentityPassPhrase 
                         -certfile mycert.pem -alias demoidentity
    
  4. Сделать резервную копию следующего файла:
     $ cp $MIDDLEWARE_HOME/server/lib/DemoIdentity.jks 
          $MIDDLEWARE_HOME/server/lib/DemoIdentity.jks.bkp
    
  5. Заменить существующий файл на сгенерированный:
     $ cp DemoIdentity.jks $MIDDLEWARE_HOME/server/lib/DemoIdentity.jks
    
  6. Перезапустить все сервера и Node Manager

четверг, 23 июня 2011 г.

Конфигурирование Node Manager

  1. Перейти в директорию:
     $ cd $MIDDLEWARE_HOME/common/nodemanager  
    
  2. Если файл nodemanager не создан, то создать его или запустить Node Manager и файл будет сгенерирован автоматически, а затем изменить/проверить выделенные красным параметры:
    DomainsFile=/u01/ofm/wlserver_10.3/common/nodemanager/nodemanager.domains
    LogLimit=0
    PropertiesVersion=10.3
    DomainsDirRemoteSharingEnabled=false
    javaHome=/u01/jdk1.6.0_30
    AuthenticationEnabled=true
    NodeManagerHome=/u01/ofm/wlserver_10.3/common/nodemanager
    JavaHome=/u01/jdk1.6.0_30/jre
    LogLevel=INFO
    DomainsFileEnabled=true
    StartScriptName=startWebLogic.sh
    ListenAddress=
    NativeVersionEnabled=true
    ListenPort=5777
    LogToStderr=true
    SecureListener=true
    LogCount=1
    DomainRegistrationEnabled=false
    StopScriptEnabled=false
    QuitEnabled=false
    LogAppend=true
    StateCheckInterval=500
    CrashRecoveryEnabled=false
    StartScriptEnabled=true
    LogFile=/u01/ofm/wlserver_10.3/common/nodemanager/nodemanager.log
    LogFormatter=weblogic.nodemanager.server.LogFormatter
    ListenBacklog=50 
    
  3. Проверить, что в файле доменов Node Manager (имя файла - nodemanager.domains) прописаны все домены, например:
    soa_domain=/u01/user_projects/domains/soa_domain
    ucm_domain=/u01/user_projects/domains/ucm_domain
    
  4. Запустить Node Manager, например так:
     $ cd $MIDDLEWARE_HOME/server/bin
     $ nohup ./startNodeManager.sh &
    
    Или с помощью утилиты screen:
     $ cd $MIDDLEWARE_HOME/server/bin
     $ screen -S nodeManager -t nodeManager ./startNodeManager.sh
    

Если возникла ошибка вида "javax.net.ssl.SSLKeyException: BAD_CERTIFICATE alert was received", то вариант её решения описан здесь.

пятница, 22 апреля 2011 г.

Изменение настроек JVM для домена Weblogic

Описание: Linux и Weblogic 10.3.4.
  • Старт серверов без использования NodeManager.:
    1. Залогиниться на сервер.
    2. Для смены JVM (JRockit млм HotSpot) выставить значание переменной JAVA_VENDOR:
      $ JAVA_VENDOR=Oracle #Для JRockit  
      $ JAVA_VENDOR=Sun    #Для HotSpot  
      $ export JAVA_VENDOR  
      
    3. Выставить желаемое значение через переменную USER_MEM_ARGS, например:
      $ USER_MEM_ARGS='-Xms1024m -Xmx1024m -XX:CompileThreshold=8000 -XX:PermSize=128m -XX:MaxPermSize=512m'  
      $ export USER_MEM_ARGS  
      
    4. Стартовать AdminServer или ManagedServer. Если JVM-параметры доменов отличаются, то рекомендую создать отдельные стартовые скрипты для каждого из ManagedServer-ов и AdminServer-а, например startAdminServer.sh:
       #!/bin/sh  
       USER_MEM_ARGS='-Xms1024m -Xmx1024m -XX:CompileThreshold=8000 -XX:PermSize=128m -XX:MaxPermSize=512m'  
       export USER_MEM_ARGS  
       JAVA_VENDOR=Sun  
       export JAVA_VENDOR
       #Start AdminServer    
       ./startWebLogic.sh  
      
  • Старт серверов с использованием NodeManager и через Weblogic Administration Console:
    1. Залогиниться в Weblogic Administration Console.
    2. Перейти в конфигурацию сервера (Имя_домена->Environment->Servers->Имя_сервера).
    3. Перейти во вкладку Configuration->Server Start.
    4. Заполнить поля Arguments и Java Vendor.

среда, 9 марта 2011 г.

Установка WebLogic 10.3 Cluster

Описание: устанавливаем WebLogic Cluster на три Linux-машины(wlsvm1,wlsvm2,wlsvm3) и на отдельную Linux-машину плагин к Apache HTTP Server.

1. Установить Oracle WebLogic 10.3.4
2. Создаём простой домен (только AdminServer)
2.1. Запускаем config.sh (из $MIDDLEWARE_HOME/wlserver_10.3/common/bin):
2.2. Оставляем по-умолчанию:
2.3. Вводим название домена:
2.4. Вводим пароль пользователя weblogic:
2.5. Оставляем по-умолчанию:
2.6. Выбираем RDBMS Security Store:
2.7. Заполняем поля связанные с соответствующей схемой в СУБД (скрипты создания объектов схем можно найти в $MIDDLEWARE_HOME/wlserver_10.3/server/lib, имя файлов начинается на rdbms_security_store_*.sql):
2.8. Создать домен:
3. Конфигурирование домена под кластер:
3.1. Сконфигурировать и запустить NodeManager (подробне здесь).
3.2. Запустить AdminServer c использованием WLST (подробнее здесь).
3.3. Зайти в административную консоль Oracle WebLogic Server - http://хост:порт/console, например http://wlsvm1:7001/console
3.4. Выбрать Environment->Machines и создать новую машину:
3.5. Выбрать имя и тип машины:
3.6. Заполнить значения Listen Adress и Lister Port (адрес и порт на котором запущен NodeManager):
3.7. Аналогично с двумя другими машинами. Получается так:
3.8. Создаём новый ManagedServer, для этого выбрать Environment->Servers:
3.9. Заполняем имя сервера, хост, порт и нажимаем "Finish":
3.10. Аналогично делаем ещё два ManagedServer и получаем следующее:
3.11. Выбираем первый ManagedServer и изменяем поле Machine на соответствующую машину:
3.12. Аналогично для второго и третьего ManagedServer-ов:
3.13. Создаём новый кластер, для этого выбрать Environment->Clusters и нажать "Add". Ввести имя кластера и нажать "Ok":
3.14. Выбираем созданный кластер и переходим в закладку Configuration->Servers и нажимаем "Add":
3.15. Выбираем первый ManagedServer, который добавляем в кластер:
3.16. Аналогично добавляем в кластер для второго и третьего ManagedServer-о.
4. Настройка Apache HTTP Server Plug-In.
4.1. Скопировать модуль плагина mod_wl_22.so из $MIDDLEWARE_HOME/wlserver_10.3/server/plugin/linux/i686/ в директорию с модулями Apache HTTP Server (отдельная машина).
4.2. Изменить конфигурационный файл Apache HTTP Server (у меня он лежит здесь: /etc/httpd/conf/httpd.conf):
4.2.1. Добавить секцию:
 LoadModule weblogic_module   modules/mod_wl_22.so  
4.2.2. Добавить в конец файла:
 <IfModule mod_wl_22.c>  
 WebLogicCluster wlsvm1:7002,wlsvm2:7002,wlsvm3:7003  
 </IfModule>  
 <Location />  
 SetHandler weblogic-handler  
 WebLogicCluster wlsvm1:7002,wlsvm2:7002,wlsvm3:7003  
 </Location>  
4.3. Перезапустить Apache HTTP Server.
5. Запускаем все ManagedServer-а (Environment->Servers->Control):
6. Готово.