程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> WebSphere >> 用Profile Port Checker解決WebSphere Application Server端口沖突問題

用Profile Port Checker解決WebSphere Application Server端口沖突問題

編輯:WebSphere

引言

在客戶使用 WebSphere Application Server 時可能遇到這樣的問題,同一台物理主機上的一 個 server 工作正常,而另一個 server 卻不能正常啟動,這可能是因為多個 server 間端口沖突引起的。 Profile Port Checker 是 IBM 提供的一款免費的工具,用於提供沖突端口檢測的服務。本文將詳細介紹 Profile Port Checker 的安裝過程,以及各個命令的功能,並利用實例來展示如何使用 Profile Port Checker 來檢測實際環境中的端口沖突。

IBM Serviceability 工具概述

除了提供高質量的產 品以外,為了進一步完善產品的客戶體驗,並且給客戶提供更好的支持服務,IBM 也推出了一系列工具,致力 於簡便地監控和快速地解決客戶在使用 IBM 產品過程中遇到的各種問題。這些工具統稱為 IBM Serviceability 工具,這些工具從各個角度提供了對產品的技術支持,比如 IBM Visual Configuration Explorer (VCE) [1] 關注產品在配置方面的問題,IBM Database Connection Pool Analyzer for WebSphere Application Server [2] 關注於 WebSphere Application Server 產品中 Java?Database Connectivity (JDBC) connection pools 相關的問題,而我們這裡要介紹的 Profile Port Checker 則關注於安裝 WebSphere Application Server 產品時的端口沖突問題。

IBM Serviceability 工具中的一部分以插 件的形式整合進了 IBM Support Assistant [3] 產品中,還有一部分需要獨立下載、安裝和運行。截至 IBM Support Assistant 4.1 版本,Profile Port Checker 還沒有被整合進 IBM Support Assistant 工具中,而 是獨立運行。

在本文中,我們將在一個包含多個 WebSphere Application Server profile 的實驗主 機上,演示 Profile Port Checker 的用法,展示如何輕松獲得多個 profiles 上多個應用服務器占用端口的 列表以及定位應用服務器之間發生沖突的端口。

安裝准備

在開始實例演示之前,您首先需要下 載 Profile Port Checker,並且了解它適用的情況。

下載 Profile Port Checker

Profile Port Checker 是一款免費的 IBM Serviceability 工具,您可以在參考資源 [4] 中下載 Profile Port Checker 的壓縮包。解壓縮後無需安裝,可以直接通過命令行的形式運行。

適用情況

Profile Port Checker 適用於同一個物理主機上,包含多個 WebSphere Application Server 的 profile,以及多個 應用服務器的情況。這個工具會掃描該台物理主機上,每個 WebSphere Application Server profile 上的每 個應用服務器所占用的端口,並整合成報告信息。報告中除了會詳細列出每個被占用的端口之外,如果發現了 沖突,也會指出發生沖突的應用服務器及沖突的端口。

Profile Port Checker 會搜索該機器上所有 WebSphere Application Server Profile 的安裝路徑,搜索主要是依據 profile 的注冊文件,例如在 Windows 系統上,該文件位於 C:\WINDOWS\.nifregistry。另外該文件的路徑信息也可以在 WebSphere Application Server 的安裝目錄中的 NIFRegistry.properties 文件中找到,例如,在 Windows 系統上,該 文件位於 C:\Program Files\IBM\WebSphere\AppServer7\properties\NIFRegistry.properties。

Profile Port Checker 適用情況如表 1 所示:

需要注意以 下兩點:

Profile Port Checker 除了可以檢測獨立安裝的 WebSphere Application Server,也可以檢測隨其他產 品安裝的 WebSphere Application Server 的 profile,比如說在 IBM?Rational?Software Delivery Platform 安裝時集成安裝的 WebSphere Application Server 所對應的 profile,它通常位於 Rational 產 品安裝目錄 runtimes 文件夾下。

Profile Port Checker 可以用來掃描和檢測同一台機器上不同版本 WebSphere Application Server 的 profile,但是目前不支持同時掃描 WebSphere Application Server V8.0 和其他版的 WebSphere Application Server 所對應的 profile。例如,實驗機器上同時安裝了 WebSphere Application Server V6.1,WebSphere Application Server V7.0 和 WebSphere Application Server V8.0。如果我們在 WebSphere Application Server V8.0 的安裝目錄上運行 Profile Port Checker,只能掃描出 WebSphere Application Server V8.0 的 profile,而不能掃描出 WebSphere Application Server V6.1 和 WebSphere Application Server V7.0 的 profile。如圖 1 所示,圖 1 截取自 Profile Port Checker 掃描報告,完整 的掃描報告請參考下載資源 [1].

圖 1. Profile Port Checker 掃描 WAS V8 報告

如果在 WebSphere Application Server V7.0 的安裝目錄或者 WebSphere Application Server V6.1 上運行 Profile Port Checker,則只能 掃描出 WebSphere Application Server V7.0 和 WebSphere Application Server V6.1 的 profile,而不能 掃描出和 WebSphere Application Server V8.0 的 profile。如圖 2 所示,圖 2 截取自 Profile Port Checker 掃描報告,完整的掃描報告請參考下載資源 [2].

圖 2. Profile Port Checker 掃描 WAS V7.0 和 WAS V6.1 報告

命令詳解

運行 Profile Port Checker 的方式很簡單,只需要將 Profile Port Checker 解壓到 WebSphere Application Server 安裝目錄下的 bin 目錄中,再運行下面這條命令即可:

java -jar profilePortChecker.jar [parameters]

其中 parameters 主要有以下三類:

系統參數

-l   列出當前系統上 WebSphere Application Server 的每一個 profile 上定義的每個應用服 務器所占用的端口。

-c   列出當前系統上 WebSphere Application Server 的每一個 profile 上定 義的每個應用服務器所占用的端口 , 並且報告應用服務器之間端口沖突情況。

-cd  Profile Port Checker 除了可以掃描系統上安裝的 WebSphere Application Server Profiles 以外,還可以掃描通過 IBM Support Assistant 工具收集上來的系統信息,通常這些信息是以 jar 文件的形式存放的。這個命令與 -c 的基本功能是相同的,差別在於 -c 會在系統上搜索 WebSphere Application Server 的 profile 信息,而 -cd 則是在 */profile/<profileName> 目錄中搜索 IBM Support Assistant 工具收集上來的系統信息 jar 文件中包含的 WebSphere Application Server profile 的信息。

文件參數

-f  這 個參數可以指定去掃描 IBM Support Assistant 工具收集上來的系統信息的 jar 文件中 WebSphere Application Server 的 profile 信息,而不是當前的系統中 WebSphere Application Server 的 profile 信息,使用這個參數時需要指定該 jar 文件的路徑。

輸出參數

-d   指定輸出文 件的存放路徑

-csv  輸出文件以 csv 格式存放,默認存放成文本格式的 log 文件。

-html 輸出文件以 html 格式存放,默認存放成文本格式的 log 文件。

將這些參數整合在一起,以下列出了常用的命令 用法供您參考:

profilePortChecker [-l] [[-html] || [-csv]]

掃描當前系統上所有的 WebSphere Application Server 的 profile 所占用的端口,並以 html 或 csv 的格式生成報告。

profilePortChecker [-c] [-html]

掃描當前系統上所有的 WebSphere Application Server 的 profile 所占用的端口並檢測定位端口沖突,並以 html 的格式生成報告。

profilePortChecker [-cd "/profileName/config"] [-d output_path] [-html]

掃描 "/profileName/config"目錄下的由 IBM Support Assistant 工具收集上來的系統信息的 jar 文 件,並在 output_path 目錄下生成 html 格式的報告,報告中包含該系統上所有的 WebSphere Application Server 的 profile 所占用的端口並定位端口沖突信息。

profilePortChecker [-f "/path/collector.jar"] [-d output_path] [-html]

掃描由 IBM Support Assistant 收集上來的系統信息文件 /path/collector.jar 中所包含的 WebSphere Application Server profiles 信息,並在 output_path 目錄下生成 html 格式的報告。

使用實例

下面我們通過兩個實際的例子來展示一下 Profile Port Checker 的使用方式:

實例 1:利用 Profile Port Checker 掃描及檢測多版本 WebSphere Application Server 間的端口沖突。

在實例 1 中,我們的實驗機器上,安裝有 WebSphere Application Server V6.1, WebSphere Application Server V7.0。一共有 4 個 profile, 1 個來自 WebSphere Application Server V6.1, 其他 3 個來自於 WebSphere Application Server V7.0。

步驟 1: 將 Profile Port Checker 的安裝包解壓 到 WebSphere Application Server V6.1 安裝路徑

C:\Program Files\IBM\WebSphere\AppServer61 \bin 下(或者 C:\Program Files\IBM\WebSphere\AppServer7\bin 下,結果是一樣的)。您將看到以下三個 文件:run_profilePortChecker.bat,run_profilePortChecker.sh 以及 profilePortChecker.jar

步驟 2:  運行命令  java -jar profilePortChecker.jar – c – html 來掃描端口占用情況 並定位沖突端口,控制台信息如圖 3 所示:

圖 3. 實例 1 Profile Port Checker 運行控制台信息

步驟 3: 檢查掃描報告 C:\Program Files\IBM\WebSphere\AppServer61 \bin\profilePortChecker.html,端口沖突報告截圖如圖 4:

圖 4. 實例 1 Profile Port Checker 端口沖突報告

掃描結果報告截圖如圖 5 所示:

圖 5. 實例 1 Profile Port Checker 掃描報告

從報告中我們可以看到端口 9354 沖突,三個 profile 都分別占用該端口,為了解決端口沖突問題,我們可以通過 WebSphere Application Server 的管理控制台更新端口以解決該問題。

實例 2:利用 Profile Port Checker 掃描 WebSphere Application Server V8.0 多個 profile 間的端口沖突。

在實例 2 中,我們的實驗機器上,安裝有 WebSphere Application Server V8.0,以及 2 個 WebSphere Application Server V8.0 的 profile。

步驟 1: 將 Profile Port Checker 的安裝包解壓到 WebSphere Application Server V8.0 安裝路 徑

C:\Program Files\IBM\WebSphere\AppServer80\bin 下。您將看到以下三個文件: run_profilePortChecker.bat,run_profilePortChecker.sh 以及 profilePortChecker.jar

步驟 2:  運行命令 java -jar profilePortChecker.jar – c – html 來掃描端口占用情況並定位 沖突的端口,控制台信息如圖 6 所示:

圖 6. 實例 2 Profile Port Checker 運行控制台信息

需要注意的是:

控制台中出現這樣的信息 "NIFRegisty.property file was not found at ..",是因為從 WebSphere Application Server V8.0 開始,移除了 NIFRegisty.property 這個文件, 並且在創建 WebSphere Application Server V8.0 的 profile 時,也不會像之前版本的 WebSphere Application Server 產品一樣,將 profile 的信息注冊在機器上的 profile 文件中(如 C:\WINDOWS\.nifregistry)。但是這並不影響 Profile Port Checker 正常掃描 WebSphere Application Server V8.0 的 profile 端口占用情況。

步驟 3:C:\Program Files\IBM\WebSphere\AppServer80\bin\profilePortChecker.html,端口沖突報告 截圖如圖 7:

圖 7. 實例 2 Profile Port Checker 端口沖突報告

從報告中我們可以看到端口 5558 沖突,需要通過 WebSphere Application Server 的管理控制台更新端口以解決該端口沖突問題。

掃 描結果報告截圖如圖 8:

圖 8. 實例 2 Profile Port Checker 掃描報告

結束語

本文通過兩個實例,介紹了 Profile Port Checker 的特性,適用情況及使用方式,為讀者 檢測定位 WebSphere Application Server 的端口沖突問題提供一種解決思路。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved