CentOS 7.5安裝配置WebLogic 12c雙機叢集
一、演示環境:
IP |
OS |
JDK |
WebLogic |
記憶體 |
伺服器角色 |
埠 |
192.168.1.144 |
CentOS 7.5 x86_64 |
jdk-8u192-linux-x64.rpm |
fmw_12.2.1.3.0_wls.jar |
8G |
管理伺服器 受管伺服器 |
7001 8011 |
192.168.1.145 |
CentOS 7.5 x86_64 |
jdk-8u192-linux-x64.rpm |
fmw_12.2.1.3.0_wls.jar |
8G |
受管伺服器 |
8012 |
軟體下載地址:
Ø JDK:https://×××w.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Ø WebLogic:https://×××w.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-1703574.html
二、準備工作(2個server都要執行):
1、關閉SELinux和firewalld
2、2個server
3、安裝配置JDK:
# rpm -ivh jdk-8u192-linux-x64.rpm
# vim /etc/profile.d/jdk.sh
export JAVA_HOME=/usr/java/latest
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
# . /etc/profile.d/jdk.sh
# java -version
# vim /usr/java/latest/jre/lib/security/java.security
將securerandom.source=file:/dev/random註釋,修改為:securerandom.source=file:/dev/./urandom
4、配置主機名:
# vim /etc/hosts --> 192.168.1.144 server1
# vim /etc/hostname --> server1
# hostnamectl set-hostname server1
# hostname server1
# logout
Ctrl + Shift + r
# hostname
備註:server2只要將IP修改為192.168.1.145,主機名修改為server2
5、建立weblogic使用者和組:
# groupadd weblogic
# useradd -g weblogic weblogic
# echo "weblogic2018" | passwd --stdin weblogic
6、建立安裝時所需目錄,並賦予許可權:
# mkdir -pv /app/weblogic
# chown -R weblogic.weblogic /app/weblogic
7、安裝配置VNC Server:
(1)安裝VNC服務端:# yum -y install tigervnc-server
(2)安裝桌面環境:
# yum -y groupinstall "X Window System"
# yum -y install gnome-classic-session gnome-terminal control-center liberation-mono-fonts
(3)啟用圖形介面:# systemctl set-default graphical.target
(4)修改配置檔案:
# cp /lib/systemd/system/[email protected] /etc/systemd/system/[email protected]:1.service
# vim /etc/systemd/system/[email protected]:1.service,修改如下3處程式碼:
# systemctl daemon-reload
(5)啟動VNC服務端,並設定連線密碼:# vncserver
(6)啟動VNC服務端:# systemctl start [email protected]:1.service
(7)驗證VNC服務端是否成功啟動:# ss -tunlp | grep vnc
(8)設定VNC服務端開機自啟:# systemctl enable [email protected]:1.service
(9)本地Windows 10中使用VNC客戶端工具VNC Viewer,輸入VNC服務端的IP地址:1即可進行連線。預設第一個埠是5901,第二個埠是5902,以此類推
備註:遇到上述顯示的桌面色彩模糊,可按如下方式操作
備註:server2將IP修改為192.168.1.145,操作方式同server1
三、server1安裝WebLogic 12c,並建立域(特別注意server2只要安裝WebLogic 12c):
在server1的VNC遠端終端中執行如下操作:
# export DISPLAY=localhost:1
# xdpyinfo | grep "name of display" --> name of display: localhost:1
# xhost + --> access control disabled, clients can connect from any host
# chmod +x fmw_12.2.1.3.0_wls.jar
# su - weblogic
$ export DISPLAY=localhost:1
$ xdpyinfo | grep "name of display" --> name of display: localhost:1
$ java -jar fmw_12.2.1.3.0_wls.jar
備註:如果需要重建域
Ø 刪除原有域:$ rm -rf /app/weblogic/Oracle_Home/user_projects/domains/test_domain
Ø 建立域:$ /app/weblogic/Oracle_Home/oracle_common/common/bin/config.sh
四、server2安裝WebLogic 12c(不要建立域):
安裝過程和server1完全相同,不要建立域:
五、server1打包域,併發送至server2:
server1:
# su - weblogic
$ /app/weblogic/Oracle_Home/oracle_common/common/bin/pack.sh -domain=/app/weblogic/Oracle_Home/user_projects/domains/test_domain -template=/tmp/test_domain.jar -template_name="test_domain" -managed=true
$ scp /tmp/test_domain.jar [email protected]:/tmp
server2:
# su - weblogic
$ /app/weblogic/Oracle_Home/oracle_common/common/bin/unpack.sh -domain=/app/weblogic/Oracle_Home/user_projects/domains/test_domain -template=/tmp/test_domain.jar
六、server1配置AdminServer後臺執行,並優化JVM引數:
1、首次前臺執行AdminServer:
$ cd /app/weblogic/Oracle_Home/user_projects/domains/test_domain/bin
$ ./startWebLogic.sh,執行過程中需要輸入使用者名稱:weblogic,密碼:weblogic2018
看到如下提示資訊,說明AdminServer執行成功:
2、Xshell中複製當前會話,檢視AdminServer執行時的JVM引數:$ ps -ef | grep java | grep -v grep
3、配置AdminServer後臺執行:
Ctrl + c結束前臺執行的AdminServer
首次執行AdminServer後,會自動在test_domain目錄下建立servers/AdminServer目錄
$ cd /app/weblogic/Oracle_Home/user_projects/domains/test_domain/servers/AdminServer
$ mkdir -pv security
$ cd security
$ vim boot.properties
username=weblogic
password=weblogic2018
4、優化JVM引數:
修改如下2個指令碼中的JVM引數,都可以達到優化效果:
Ø $ vim /app/weblogic/Oracle_Home/user_projects/domains/test_domain/bin/startWebLogic.sh
Ø $ vim /app/weblogic/Oracle_Home/user_projects/domains/test_domain/bin/setDomainEnv.sh
startWebLogic.sh會呼叫setDomainEnv.sh,所以優先順序比setDomainEnv.sh高
此處選擇修改startWebLogic.sh
(1)trap 'stopAll' 1 2 3 15上方加入程式碼:MEM_ARGS="-Xms2048m -Xmx2048m"
(2)如果應用程式需要在網頁中顯示驗證碼,則增加JVM引數-Djava.awt.headless=true
將SAVE_JAVA_OPTIONS="${JAVA_OPTIONS}"修改為
SAVE_JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.awt.headless=true"
5、後臺執行AdminServer:
$ cd /app/weblogic/Oracle_Home/user_projects/domains/test_domain/bin
$ nohup ./startWebLogic.sh & //日誌會被記錄在自動建立的nohup.out檔案中
$ tail -2 nohup.out
$ cd /app/weblogic/Oracle_Home/user_projects/domains/test_domain/servers/AdminServer/security
$ cat boot.properties //之前明文顯示的使用者名稱和密碼已加密
備註:關閉AdminServer的2種方法
Ø $ kill -9 程序號
Ø $ /app/weblogic/Oracle_Home/user_projects/domains/test_domain/bin/stopWebLogic.sh
6、檢視優化後AdminServer的JVM引數:$ ps -ef | grep java | grep -v grep
7、瀏覽器中輸入http://192.168.1.144:7001/console開啟控制檯,並輸入使用者名稱weblogic和密碼weblogic2018:
備註:修改控制檯使用者登入密碼
點選左側“鎖定並編輯”--> 安全領域 --> 右側預設領域“myrealm”-->“使用者和組”標籤 --> 下方“使用者”標籤 -->“weblogic”使用者 -->“口令”標籤 --> 輸入並確認新口令 --> 儲存
七、配置叢集(2種方法均可實現,2選1):
AdminServer為預設的域管理伺服器,如果是非叢集環境,可以直接把應用程式部署至AdminServer下;如果是叢集環境,則AdminServer僅作為管理叢集servers使用。
點選“定製此表”,方便檢視:
Ø 通過startManagedWebLogic.sh:
1、配置server1後臺執行:
(1)首次前臺執行server1:
$ cd /app/weblogic/Oracle_Home/user_projects/domains/test_domain/bin
$ ./startManagedWebLogic.sh server1,執行過程中需要輸入使用者名稱:weblogic,密碼:weblogic2018
看到如下提示資訊,說明server1執行成功:
(2)配置server1後臺執行:
Ctrl + c結束前臺執行的server1
首次執行server1後,會自動在test_domain/servers目錄下建立server1目錄
$ cd /app/weblogic/Oracle_Home/user_projects/domains/test_domain/servers/server1
$ mkdir -pv security
$ cd security
$ vim boot.properties
username=weblogic
password=weblogic2018
(3)後臺執行server1:
$ cd /app/weblogic/Oracle_Home/user_projects/domains/test_domain/bin
$ nohup ./startManagedWebLogic.sh server1 >> nohup.server1 &
//日誌會被記錄在自動建立的nohup.server1檔案中
$ tail -2 nohup.server1
$ ps -ef | grep java | grep -v grep
2、配置server2後臺執行:
(1)首次前臺執行server2:
$ cd /app/weblogic/Oracle_Home/user_projects/domains/test_domain/bin
$ ./startManagedWebLogic.sh server2 http://192.168.1.144:7001
執行過程中需要輸入使用者名稱:weblogic,密碼:weblogic2018
看到如下提示資訊,說明server2執行成功:
(2)配置server2後臺執行:
Ctrl + c結束前臺執行的server2
首次執行server2後,會自動在test_domain目錄下建立servers/server2目錄
$ cd /app/weblogic/Oracle_Home/user_projects/domains/test_domain/servers/server2
$ mkdir -pv security
$ cd security
$ vim boot.properties
username=weblogic
password=weblogic2018
(3)優化JVM引數:$ vim /app/weblogic/Oracle_Home/user_projects/domains/test_domain/bin/startWebLogic.sh
Ø trap 'stopAll' 1 2 3 15上方加入程式碼:MEM_ARGS="-Xms2048m -Xmx2048m"
Ø 如果應用程式需要在網頁中顯示驗證碼,則增加JVM引數-Djava.awt.headless=true
將SAVE_JAVA_OPTIONS="${JAVA_OPTIONS}"修改為
SAVE_JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.awt.headless=true"
(4)後臺執行server2:
$ cd /app/weblogic/Oracle_Home/user_projects/domains/test_domain/bin
$ nohup ./startManagedWebLogic.sh server2 http://192.168.1.144:7001 >> nohup.server2 &
//日誌會被記錄在自動建立的nohup.server2檔案中
$ tail -2 nohup.server2
$ ps -ef | grep java | grep -v grep
備註:通過startManagedWebLogic.sh不必配置控制檯“環境”--> 計算機
Ø 通過startNodeManager.sh(節點管理器):
停止正在執行的server1和server2
修改machine1配置:左側“環境”--> 計算機 --> 右側“machine1”-->“節點管理器”標籤 --> 將型別修改為“普通”--> 儲存 --> 左上方“啟用更改”
machine2同理
1、server1中啟動節點管理器:
$ cd /app/weblogic/Oracle_Home/user_projects/domains/test_domain/nodemanager
$ vim nodemanager.properties
ListenAddress=192.168.1.144
SecureListener=false
weblogic.StartScriptEnabled=true
$ vim /app/weblogic/Oracle_Home/oracle_common/common/bin/commBaseEnv.sh
修改為:
$ cd /app/weblogic/Oracle_Home/user_projects/domains/test_domain/bin
$ nohup ./startNodeManager.sh &
$ tail -2 nohup.out
$ ps -ef | grep java | grep -v grep
檢視machine1中節點管理器狀態:左側“環境”--> 計算機 --> 右側“machine1”-->“監視”標籤 --> 節點管理器狀態
2、server2中啟動節點管理器:
$ cd /app/weblogic/Oracle_Home/user_projects/domains/test_domain/nodemanager
$ vim nodemanager.properties
ListenAddress=192.168.1.145
SecureListener=false
weblogic.StartScriptEnabled=true
$ vim /app/weblogic/Oracle_Home/oracle_common/common/bin/commBaseEnv.sh
修改為:
$ cd /app/weblogic/Oracle_Home/user_projects/domains/test_domain/bin
$ nohup ./startNodeManager.sh &
$ tail -2 nohup.out
$ ps -ef | grep java | grep -v grep
檢視machine2中節點管理器狀態:左側“環境”--> 計算機 --> 右側“machine2”-->“監視”標籤 --> 節點管理器狀態