Проблемы с балансировкой нагрузки и кластеризацией weblogic 9.2 с использованием прокси-плагина - PullRequest
1 голос
/ 28 июля 2010

У меня есть кластер в weblogic 9.2 с 2 узлами (172.20.1.68:7101, 172.20.1.23:7102), 1 администратором сервера (172.20.1.23:7001) и 1 балансировщиком (плагин apache proxy) 172.20.1.49:7103.

Что я вижу в access.log балансировщика, так это то, что каждый запрос помечен как 404 не найден. Но в журнале узла я вижу те же самые распределенные запросы, помеченные как GET с кодом 200.

Проблема в том, что мое приложение не работает.

Любая идея будет оценена.

Большое спасибо!

Edit:

Вот мой соответствующий httpd.conf, у меня нет раздела, вместо этого я есть это:

<VirtualHost *:80>
        ServerName fake.server.name  
        DocumentRoot "/usr/local/apache_ssl/htdocs"  
        <Location /myApp/>  
             SetHandler weblogic-handler  
             WebLogicCluster 172.20.1.23:7102,172.20.1.68:7101  
             Debug All   
             DebugConfigInfo ALL  
             WLLogFile logs/p.log  
              KeepAliveEnabled ON  
             KeepAliveSecs 15  
        </Location>  

        <Location /psoc-app>
             SetHandler weblogic-handler
             WebLogicCluster 172.20.1.23:7102,172.20.1.68:7101
              KeepAliveEnabled ON
             KeepAliveSecs 15
        </Location>

    WLLogFile logs/p.log
    ErrorLog logs/_log_error
    CustomLog logs/_log common
</VirtualHost>

/ tmp / wlproxy.log запрос:

================New Request: [GET /myApp/path HTTP/1.1] =================
Thu Jul 29 14:30:00 2010 <1382912804066002> INFO: SSL is not configured
Thu Jul 29 14:30:00 2010 <1382912804066002> Using Uri /myApp/path
Thu Jul 29 14:30:00 2010 <1382912804066002> After trimming path: '/myApp/path'
Thu Jul 29 14:30:00 2010 <1382912804066002> The final request string is '/myApp/path'
Thu Jul 29 14:30:00 2010 <1382912804066002> SEARCHING       id=[172.20.1.23:7102,172.20.1.68:7101] from current ID=[172.20.1.23:7102,172.20.1.68:7101]
Thu Jul 29 14:30:00 2010 <1382912804066002> The two ids matched
Thu Jul 29 14:30:00 2010 <1382912804066002> @@@FOUND...id=[172.20.1.23:7102,172.20.1.68:7101], server_name=[172.20.1.49], server_port=[80]
Thu Jul 29 14:30:00 2010 <1382912804066002> attempt #0 out of a max of 5
Thu Jul 29 14:30:00 2010 <1382912804066002> Trying a pooled connection for '172.20.1.68/7101/7106'
Thu Jul 29 14:30:00 2010 <1382912804066002> getPooledConn: No more connections in the pool for Host[172.20.1.68] Port[7101] SecurePort[7106]
Thu Jul 29 14:30:00 2010 <1382912804066002> general list: trying connect to '172.20.1.68'/7101/7106 at line 2619 for '/myApp/path'
Thu Jul 29 14:30:00 2010 <1382912804066002> INFO: New NON-SSL URL
Thu Jul 29 14:30:00 2010 <1382912804066002> Connect returns -1, and error no set to 115, msg 'Operation now in progress'
Thu Jul 29 14:30:00 2010 <1382912804066002> EINPROGRESS in connect() - selecting
Thu Jul 29 14:30:00 2010 <1382912804066002> Local Port of the socket is 38958
Thu Jul 29 14:30:00 2010 <1382912804066002> Remote Host 172.20.1.68 Remote Port 7101
Thu Jul 29 14:30:00 2010 <1382912804066002> general list: created a new connection to '172.20.1.68'/7101 for '/myApp/path', Local port:38958
Thu Jul 29 14:30:00 2010 <1382912804066002> URL::parseHeaders: CompleteStatusLine set to [HTTP/1.1 404 Not Found]
Thu Jul 29 14:30:00 2010 <1382912804066002> URL::parseHeaders: StatusLine set to [404 Not Found]
Thu Jul 29 14:30:00 2010 <1382912804066002> parsed all headers OK
Thu Jul 29 14:30:00 2010 <1382912804066002> sendResponse() : r->status = '404'
Thu Jul 29 14:30:00 2010 <1382912804066002> canRecycle: conn=1 status=404 isKA=0 clen=1214 isCTE=0
Thu Jul 29 14:30:00 2010 <1382912804066002> closeConn: URL.canRecycle() returns false, deleting URL '172.20.1.68/7101'
Thu Jul 29 14:30:00 2010 <1382912804066002> request [/myApp/path] processed sucessfully..................

Извините, я просто не могу заставить работать форматтер

1 Ответ

2 голосов
/ 30 июля 2010

Из комментариев на данный момент есть 3 вещи, которые нужно отметить и попробовать:

A) Где в Apache conf он указывает на /tmp/wlproxy.log? Возникает вопрос, ищем ли мы правильный файл conf - или, возможно, запущен еще один экземпляр Apache?

Запустите эту команду (если используется unix), чтобы определить владельца pid, записывающего в журнал

/usr/sbin/fuser /tmp/wlproxy.log

Это вернет pid процесса Apache - это тот Apache, который вы используете?

Вы также можете попробовать запустить fuser с выключенным Apache и посмотреть, показывает ли он все еще pid, владеющий файлом?

B) Журнал отладки плагина показывает, что запрос apache отправляется на 2-й сервер в кластере и получает 404.

Thu Jul 29 14:30:00 2010 <1382912804066002> general list: created a new connection to '172.20.1.68'/7101 for '/myApp/path', Local port:38958 
Thu Jul 29 14:30:00 2010 <1382912804066002> URL::parseHeaders: CompleteStatusLine set to [HTTP/1.1 404 Not Found] 
Thu Jul 29 14:30:00 2010 <1382912804066002> URL::parseHeaders: StatusLine set to [404 Not Found] 

Определенно ли приложение развернуто и доступно на 172.20.1.68:7101/myApp/path?

C) Что происходит, когда вы делаете запрос на /psoc-app, показанный в конф?

...