溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

websphere集群的創(chuàng)建方法

發(fā)布時(shí)間:2021-07-08 18:00:32 來(lái)源:億速云 閱讀:333 作者:chen 欄目:大數(shù)據(jù)

這篇文章主要講解了“websphere集群的創(chuàng)建方法”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“websphere集群的創(chuàng)建方法”吧!

前面已經(jīng)介紹了創(chuàng)建概要文件,這里把前面創(chuàng)建的管理節(jié)點(diǎn)和受管理節(jié)點(diǎn)結(jié)合起來(lái)做集群。

首先進(jìn)入管理節(jié)點(diǎn)的bin目錄啟動(dòng)管理節(jié)點(diǎn),啟動(dòng)了才能進(jìn)入管理控制臺(tái)

./startManager.sh

進(jìn)入其他受管理節(jié)點(diǎn)啟動(dòng)節(jié)點(diǎn),也可以不啟動(dòng),不啟動(dòng)也可以創(chuàng)建集群,因?yàn)閯?chuàng)建概要的時(shí)候我們已經(jīng)把受管理節(jié)點(diǎn)添加到管理節(jié)點(diǎn)中了,現(xiàn)在啟動(dòng)只是為了方便后續(xù)操作

./startNode.sh

然后進(jìn)入管理控制臺(tái),然后服務(wù)器 > 集群 > WebSphere Application Server 集群 ,點(diǎn)擊新建集群,新建集群的名字我們自己隨便填,配置 HTTP 會(huì)話(huà)內(nèi)存到內(nèi)存復(fù)制的復(fù)選框我們這里先不勾選,選擇的好處就是我們這里所有節(jié)點(diǎn)的會(huì)話(huà)是共享的,如果配置負(fù)載均衡的話(huà),這幾個(gè)節(jié)點(diǎn)的會(huì)話(huà)是無(wú)縫切換的。如果這幾個(gè)節(jié)點(diǎn)都在同一臺(tái)服務(wù)器上,使用這個(gè)選項(xiàng)就非常方便了,如果位于多個(gè)不同服務(wù)器就麻煩了。這里我們不勾選,因?yàn)槲覀兿旅媸褂脮?huì)話(huà)管理的另一種方式。集群名字填好后,下面就是要添加集群的成員,所有需要的節(jié)點(diǎn)添加完集群就創(chuàng)建完成了。

集群創(chuàng)建完成后,我們就可以創(chuàng)建JDBC 提供程序了,還有數(shù)據(jù)源了,創(chuàng)建的時(shí)候注意作用域都要選擇集群。

這里我們重點(diǎn)創(chuàng)建一個(gè)數(shù)據(jù)源,用來(lái)管理會(huì)話(huà)的,數(shù)據(jù)源名:sessions,JNDI 名稱(chēng):jdbc/sessions,以上名字可以隨便寫(xiě),最好容易分辨。下一步選擇我們之前創(chuàng)建的JDBC提供程序,websphere默認(rèn)支持DB2和Oracle,我們使用Oracle,這里選擇Oracle JDBC Driver,然后下一步填寫(xiě)數(shù)據(jù)庫(kù)連接的URL,最后完成。

數(shù)據(jù)源配置好了,數(shù)據(jù)庫(kù)的表結(jié)構(gòu)是什么樣的呢,參考IBM官方文檔

https://www.ibm.com/support/knowledgecenter/zh/SSAW57_9.0.5/com.ibm.websphere.nd.multiplatform.doc/ae/uprs_rpersistence.html

https://www.ibm.com/support/knowledgecenter/zh/SSAW57_9.0.5/com.ibm.websphere.nd.multiplatform.doc/ae/tprs_cnfp.html

https://www.ibm.com/support/knowledgecenter/zh/SSAW57_9.0.5/com.ibm.websphere.nd.multiplatform.doc/ae/tprs_table_creation.html

對(duì)于 Oracle:

CREATE TABLE SESSIONS  (
  ID               VARCHAR(128) NOT NULL ,
  PROPID           VARCHAR(128) NOT NULL ,
  APPNAME          VARCHAR(128) NOT NULL,
  LISTENERCNT      SMALLINT ,
  LASTACCESS       INTEGER,
  CREATIONTIME     INTEGER,
  MAXINACTIVETIME  INTEGER ,
  USERNAME         VARCHAR(256) ,
  SMALL            RAW(2000),
  MEDIUM           LONG RAW ,
  LARGE            RAW(1)
  )

如果 Web 容器定制屬性 UseOracleBLOB 設(shè)置為 true,那么:

CREATE TABLE SESSIONS  (
  ID               VARCHAR(128) NOT NULL ,
  PROPID           VARCHAR(128) NOT NULL ,
  APPNAME          VARCHAR(128) NOT NULL,
  LISTENERCNT      SMALLINT ,
  LASTACCESS       INTEGER,
  CREATIONTIME     INTEGER,
  MAXINACTIVETIME  INTEGER ,
  USERNAME         VARCHAR(256) ,
  SMALL            RAW(2000),
  MEDIUM           BLOB,
  LARGE            RAW(1)
  )

兩者只是MEDIUM字段的類(lèi)型不一樣,我們這里采用默認(rèn)第一種方式在數(shù)據(jù)創(chuàng)建好表。

創(chuàng)建完數(shù)據(jù)源之后需要重啟nodeagent,不然連接數(shù)據(jù)庫(kù)會(huì)有錯(cuò)誤.應(yīng)用安裝完成之后同步一下節(jié)點(diǎn),然后再啟動(dòng)應(yīng)用.

然后設(shè)置服務(wù)器配置,服務(wù)器 > 服務(wù)器類(lèi)型 > WebSphere Application Serverserver_name > 會(huì)話(huà)管理 分布式環(huán)境設(shè)置,直接點(diǎn)擊數(shù)據(jù)庫(kù),修改 數(shù)據(jù)源 JNDI 名稱(chēng),這個(gè)名稱(chēng)看仔細(xì)了,是系統(tǒng)默認(rèn)的,需要改成我們上面創(chuàng)建的jdbc/sessions,修改用戶(hù)標(biāo)識(shí)密碼,也就是SESSIONS表所在庫(kù)的用戶(hù)名和密碼,其他配置不用修改,然后保存配置,數(shù)據(jù)庫(kù)默認(rèn)就會(huì)被選中有效。這里的server_name是我們的節(jié)點(diǎn),把所有節(jié)點(diǎn)的服務(wù)器都這樣配置好以后,重啟所有server,然后就會(huì)生效了。

可以安裝一個(gè)應(yīng)用,通過(guò)一個(gè)節(jié)點(diǎn)的端口登錄應(yīng)用,再在另一個(gè)節(jié)點(diǎn)的端口打開(kāi)應(yīng)用,看看會(huì)話(huà)是否也有效,同時(shí)數(shù)據(jù)庫(kù)SESSIONS表應(yīng)該已經(jīng)有數(shù)據(jù)了。

注意應(yīng)用程序的管理也有一個(gè)會(huì)話(huà)管理 分布式環(huán)境設(shè)置,這里無(wú)需設(shè)置,設(shè)置后也沒(méi)有作用。

集群創(chuàng)建好,接下來(lái)配置ihs,實(shí)現(xiàn)ihs的負(fù)載均衡。先配置 Web 服務(wù)器插件,使用命令行來(lái)創(chuàng)建,可參考

https://www.ibm.com/support/knowledgecenter/zh/SSEQTP_9.0.5/com.ibm.websphere.base.doc/ae/tins_pctcl_using.html

需要先配置一個(gè) tool 自變量的響應(yīng)文件,創(chuàng)建定義時(shí),此參數(shù)是必需的。

我們就在WCT目錄創(chuàng)建一個(gè)響應(yīng)文件把

cd /opt/IBM/WebSphere/Toolbox/WCT

這個(gè)目錄下有個(gè)pct_responsefile.txt,就是響應(yīng)文件的模板,不過(guò)是Windows下的,我們需要改動(dòng)的很多,不過(guò)可以參考,里面有很多注釋。我們創(chuàng)建響應(yīng)文件

vi responsefile.txt

文件內(nèi)容如下,這里的概要文件指定的是受管理節(jié)點(diǎn)Custom01,指定管理節(jié)點(diǎn)是運(yùn)行生成configurewebserver1.sh腳本報(bào)不是有效的節(jié)點(diǎn)錯(cuò)誤,可以看下面后續(xù)的測(cè)試。

configType=local
enableAdminServerSupport=true
enableUserAndPass=true
ihsAdminUserID=admin
ihsAdminPassword=ihsadmin
ihsAdminPort=8008
ihsAdminCreateUserAndGroup=true
ihsAdminUnixUserGroup=was
ihsAdminUnixUserID=ihs
mapWebServerToApplications=true
wasExistingLocation=/opt/IBM/WebSphere/AppServer/
profileName=Custom01
webServerConfigFile1=/opt/IBM/HTTPServer/conf/httpd.conf
webServerDefinition=webserver1
webServerHostName=localhost
webServerOS=Linux
webServerInstallArch=64
webServerPortNumber=80
webServerSelected=ihs

創(chuàng)建完響應(yīng)文件以后我們就可以進(jìn)行配置了

./wctcmd.sh -tool pct \
   -createDefinition \
   -defLocPathname /opt/IBM/WebSphere/Plugins \
   -defLocName WebServerPlugins \
   -response /opt/IBM/WebSphere/Toolbox/WCT/responsefile.txt

如果創(chuàng)建失敗,檢查參數(shù)設(shè)置是否有問(wèn)題,比如參數(shù)路徑、系統(tǒng)是不是Linux、系統(tǒng)是不是64版本,然后修改響應(yīng)參數(shù),還有可能缺少一些32位類(lèi)庫(kù)支持,可嘗試下載如下軟件

yum install ld-linux.so.2 libgcc.i686

創(chuàng)建成功后會(huì)在/opt/IBM/WebSphere/Plugins/bin/目錄下生成一個(gè)configurewebserver1.sh腳本,因?yàn)槲覀冺憫?yīng)文件定義的服務(wù)器名字就是webserver1。

我們將這個(gè)腳本文件復(fù)制到管理節(jié)點(diǎn)bin目錄下

cp /opt/IBM/WebSphere/Plugins/bin/configurewebserver1.sh /opt/IBM/WebSphere/AppServer/bin/

然后在A(yíng)ppServer/bin/下運(yùn)行這個(gè)腳本

./configurewebserver1.sh

后續(xù):

上面通過(guò)命令創(chuàng)建的configurewebserver1.sh,如果指定的概要文件是管理節(jié)點(diǎn),運(yùn)行會(huì)報(bào)節(jié)點(diǎn)不是有效的節(jié)點(diǎn)的問(wèn)題,通過(guò)圖形界面創(chuàng)建的,同樣是管理節(jié)點(diǎn),則不會(huì)報(bào)錯(cuò),這樣我們可以自己手動(dòng)編輯configurewebserver1.sh腳本,比對(duì)兩個(gè)生成的腳本,唯一的區(qū)別就是最后一行的參數(shù),一個(gè)是unmanaged ihs-node,另一個(gè)是managed Dmgr01Node,可能是生成的Dmgr01Node名字與現(xiàn)有節(jié)點(diǎn)名字重復(fù)了,命令行工具的一個(gè)Bug吧。

#!/bin/sh

binDir=`dirname "$0"`
. "$binDir/setupCmdLine.sh"



COMMAND_INVOKED="$0"

PROFILE_NAME_PARAMETER=
WSADMIN_USERID_PARAMETER=
WSADMIN_PASSWORD_PARAMETER=
IHS_ADMIN_PASSWORD_PARAMETER=

printUsage()
{
        echo ""
        echo ""
        echo "Usage: $COMMAND_INVOKED"
        echo "    [ -profileName profile_name  ] "
        echo "    [ -user WAS_Admin_userID  ] "
        echo "    [ -password WAS_Admin_password ] "
        echo "    [ -ihsAdminPassword IHS_Admin_password ]"
        echo "    [ -help | -? ]"
        echo " "
        echo "Where:"
        echo "    \"profileName\" is the name of the profile in which "
        echo "    web server should be created"
        echo "    \"user\" is the WebSphere Administration userID"
        echo "    \"password\" is the WebSphere Administration password"
        echo "    \"ihsAdminPassword\" is the password to access the IHS Adminstration server" 
        echo " "
        echo "Example: "
        echo "    $COMMAND_INVOKED -profileName AppSrv01 -user admin -password admin1"
        echo " "
        echo " "

        exit 0
}

printError()
{
        echo "ERROR: $1"
        printUsage
}

while [ $# -gt 0 ]; do
    case $1 in
              -help|-?) printUsage 
                        exit 0                
                        ;;
          -profileName) shift
                        echo "Using the profile $1"
                        PROFILE_NAME_PARAMETER="-profileName $1"
                        ;;
                 -user) shift
                        echo "Using WAS admin userID $1"
                        WSADMIN_USERID_PARAMETER="-user $1"
                        ;;
             -password) shift
                        WSADMIN_PASSWORD_PARAMETER="-password $1"
                        ;;
     -ihsAdminPassword) shift
                        IHS_ADMIN_PASSWORD_PARAMETER="$1"
                        ;;
                    -*) echo "Unsupported option"
                        echo "$1"
                        printUsage 
                        exit 0                
                        ;;
   esac
   shift
done


"$binDir/wsadmin.sh" $PROFILE_NAME_PARAMETER $WSADMIN_USERID_PARAMETER $WSADMIN_PASSWORD_PARAMETER -f $WAS_HOME/bin/configureWebserverDefinition.jacl webserver1 IHS '/opt/IBM/HTTPServer' '/opt/IBM/HTTPServer/conf/httpd.conf' 80 MAP_ALL '/opt/IBM/WebSphere/Plugins' unmanaged ihs-node localhost linux 8008  admin ihsadmin

如果有其他改動(dòng),比對(duì)上面腳本中的參數(shù)修改就可以了。創(chuàng)建好之后添加運(yùn)行權(quán)限

chmod +x configurewebserver1.sh

然后在A(yíng)ppServer/bin/目錄下運(yùn)行就好了,運(yùn)行之后會(huì)單獨(dú)創(chuàng)建一個(gè)ihs-node節(jié)點(diǎn),可以在拓?fù)鋱D中看到,

要想在管理控制臺(tái)可以啟動(dòng)和停止ihs,需要啟動(dòng)ihs的管理服務(wù)

/opt/IBM/HTTPServer/bin/adminctl start

注意編輯的是運(yùn)行生成腳本wctcmd.sh之后生成的configurewebserver1.sh,如果不運(yùn)行上面wctcmd.sh直接寫(xiě)一個(gè)configurewebserver1.sh執(zhí)行也正常,但是啟動(dòng)ihs控制臺(tái)adminctl start會(huì)報(bào)錯(cuò)誤

Syntax error on line 7 of /opt/IBM/HTTPServer/conf/admin.conf:Port must be specified

因?yàn)椴贿\(yùn)行生成腳本,一些環(huán)境變量就沒(méi)有設(shè)置,管理端口等變量就找不到正確的值。
 

注:

如果你是用的圖形界面的Web插件管理工具,點(diǎn)擊菜單沒(méi)反應(yīng),一般是Linux服務(wù)器會(huì)出現(xiàn)這種情況,由于缺少軟件包導(dǎo)致的,或者64位操作系統(tǒng),缺少32系統(tǒng)包的支持,可以在終端下運(yùn)行wct.sh看看有什么錯(cuò)誤,或者查看一下錯(cuò)誤日志

cat /root/.ibm/WebSphere/workspaces/WCT85/.metadata/.log

再或者直接安裝一下包試試

yum install libgcc libgcc.i686 ld-linux.so.2 gtk2.i686 PackageKit-gtk3-module PackageKit-gtk3-module.i686

再提供兩條命令

#刪除服務(wù)器定義
./wctcmd.sh -tool pct -deleteDefinition webserver1 -defLocName WebServerPlugins
#刪除插件位置定義
./wctcmd.sh -tool pct -removeDefinitionLocation -defLocName WebServerPlugins

感謝各位的閱讀,以上就是“websphere集群的創(chuàng)建方法”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)websphere集群的創(chuàng)建方法這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI