設定管理伺服器容錯移轉

獨立部署中的 Essbase 會以受管理伺服器的形式執行,並視 WebLogic 管理伺服器而定,以便在主要節點發生故障時啟動、停止及進入容錯移轉模式。

如果主要主機無法使用,您可以在一個以上的主機上以容錯移轉模式設定 Essbase 。此外,建議您設定 WebLogic 管理伺服器以提高可用性,以確保 Essbase 容錯移轉節點可以初始化。

本主題包含使用 Essbase 容錯移轉組態設定 AdminServer 高可用性的準則。如需有關 WebLogic AdminServer 高可用性的一般資訊,請參閱管理伺服器高可用性。

預先設定 Essbase 受管理伺服器的高可用性

若要為用於 Essbase 的 WebLogic 受管理伺服器啟用高可用性,請完成下列組態。

  1. 登入 WebLogic 伺服器管理主控台。

  2. 在首頁的網域結構下,按一下 Essbase 網域名稱 (例如 essbase_domain)。


    在 WebLogic 主控台中,essbase_domain 是網域結構的根目錄。

  3. 使用頁籤瀏覽至「安全性」>「嵌入式 LDAP」。


    已在 essbase_domain 中開啟含安全性 > 內嵌 LDAP 頁標的 WebLogic 主控台。

  4. 取消選取下列選項,然後按一下「儲存」。


    未勾選 WebLogic Embedded LDAP 設定中的「主要優先」選項。

  5. SSH 至主機 1 並重新啟動 Essbase (AdminServer 和受管理伺服器),如停止、啟動及檢查伺服器中所述。

    附註:

    僅在 EPM Shared Services 部署中,應先啟動 EPM WebLogic Server ,再啟動 Essbase 受管理伺服器。

    若要個別啟動和停止每部伺服器,請將 -i 參數與伺服器名稱一起使用。

    Linux 範例 (啟動):

    <Domain Home>/esstools/bin/start.sh -i essbase_server1

    Windows 範例 (啟動):

    <Domain Home>\esstools\bin\start.cmd -i essbase_server1

設定管理伺服器高可用性

先決條件

若要設定 WebLogic 管理伺服器高可用性與 Essbase 容錯移轉環境,

  1. 在主要節點 (主機 1) 上建立虛擬 IP 位址 (VIP)。

    使用 Linux ip 指令。語法如下:

    ip addr add <VIP>/<NETMASK> dev <INTERFACE> label <LABEL_NAME>

    範例:

    ip addr add 100.xx.xx.1/20 dev ens3 label ens3:2
  2. 設定 Essbase 容錯移轉環境,如使用容錯移轉設定指令碼設定 Essbase 故障移轉環境中所述。

  3. 測試 Essbase 容錯移轉環境設定是否成功 (請參閱啟動與驗證 Essbase 容錯移轉組態 )。

  4. 登入 WebLogic 伺服器管理主控台。

  5. 在首頁的「網域組態」>「環境」下,瀏覽至「伺服器」,然後按一下「管理伺服器」。

  6. 在變更中心窗格中,按一下鎖定並編輯。


    WebLogic 管理主控台的「變更中心」段落,著重於「鎖定與編輯」按鈕

  7. 將「監聽位址」變更為虛擬 IP (VIP) 位址。

  8. 按一下儲存。

  9. 按一下啟用變更。


    WebLogic 管理主控台的「變更中心」段落,著重於「啟動變更」按鈕

  10. 重新啟動「管理伺服器」。

  11. 再次登入 WebLogic 伺服器管理主控台。

  12. 在網域結構下,瀏覽至「環境」>「機器」。


    WebLogic 主控台網域結構樹狀結構樹狀結構。essbase_domain 底下,已展開「環境」並選取「機器」。

  13. 按一下鎖定與編輯,然後按一下「新建」以新增名為 adminmachine 的新機器。將機器作業系統設為 Unix,然後按一下「下一步」。


    WebLogic 主控台中「建立新機器」工作流程的「機器識別」區段

  14. 將「節點管理程式」類型設為 SSL,將「監聽位址」設為虛擬 IP (VIP) 位址,並將連接埠設為 9557。按一下「完成」。


    WebLogic 主控台中建立新機器工作流程的「節點管理程式特性」區段

  15. 在機器摘要表格中,按一下新管理機器的連結,然後按一下組態頁籤,再按一下伺服器頁籤。

  16. 按一下「新增」,選取 AdminServer ,然後按一下「完成」。


    在 WebLogic 主控台中新增伺服器至機器對話方塊

  17. SSH 至 Essbase 主要節點 (主機 1),導覽至 <Domain_Home>/servers/AdminServer,然後製作目錄 nodemanager。

  18. 瀏覽至 nodemanager 目錄並建立兩個新檔案:nodemanager.domains 和 nodemanager.properties。

    nodemanager.domains 範例 (取代值以符合您自己安裝的 Essbase 網域名稱和路徑):

    essbase_domain=/u01/oracle/user_projects/domains/essbase_domain

    nodemanager.properties 範例 (取代值以符合您自己安裝的 Essbase 網域名稱和路徑):

    DomainsFile=/u01/oracle/user_projects/domains/essbase_domain/servers/AdminServer/nodemanager/nodemanager.domains
    LogLimit=0
    PropertiesVersion=12.2.1.1.0
    AuthenticationEnabled=true
    NodeManagerHome=/u01/oracle/user_projects/domains/essbase_domain/servers/AdminServer/nodemanager
    JavaHome=/u01/app/oracle/product/JAVA/jdk
    LogLevel=INFO
    DomainsFileEnabled=true
    ListenAddress=100.xx.xx.1
    NativeVersionEnabled=true
    ListenPort=9557
    LogToStderr=true
    weblogic.StartScriptName=startWebLogic.sh
    SecureListener=true
    LogCount=1
    QuitEnabled=false
    LogAppend=true
    weblogic.StopScriptEnabled=false
    StateCheckInterval=500
    CrashRecoveryEnabled=false
    weblogic.StartScriptEnabled=true
    LogFile=/u01/oracle/user_projects/domains/essbase_domain/servers/AdminServer/nodemanager/nodemanager.log
    LogFormatter=weblogic.nodemanager.server.LogFormatter
    ListenBacklog=50
  19. 瀏覽至 <Domain_Home>/bin。範例:

    cd /u01/oracle/user_projects/domains/essbase_domain/bin
  20. 複製「節點管理程式」啟動命令檔,新名稱為 startNodeManagerAdmin.sh。範例:

    cp startNodeManager.sh startNodeManagerAdmin.sh
  21. 開啟 startNodeManagerAdmin.sh 進行編輯。將 NODEMGR_HOME 的值變更為 "<Domain_Home>/servers/AdminServer/nodemanager",然後儲存檔案。範例:

    NODEMGR_HOME="/u01/oracle/user_projects/domains/essbase_domain/nodemanager"
    
  22. 瀏覽至 <Domain_Home>/esstools/bin。範例:

    cd /u01/oracle/user_projects/domains/essbase_domain/esstools/bin
  23. 停止 AdminServer。範例:

    ./stop.sh -i AdminServer
  24. 導覽回 <Domain_Home>/bin,並在背景中執行 startNodeManagerAdmin.sh。範例:

    cd /u01/oracle/user_projects/domains/essbase_domain/bin
    ./startNodeManagerAdmin.sh &
  25. 設定網域環境。範例:

    source /u01/oracle/user_projects/domains/essbase_domain/bin/setDomainEnv.sh
  26. 執行位於 <ORACLE_HOME>/oracle_common/common/bin 的 WebLogic Scripting Tool。範例:

    /u01/oracle/user_projects/oracle_common/common/bin/wlst.sh
  27. 在 wls:/offline> 提示下,連線至「節點管理程式」,然後啟動 AdminServer。例如,使用下列指令 (將 <variables> 取代為您的值):

    wls:/offline> nmConnect('<WebLogic_admin_user>','<WebLogic_admin_password>', '<Virtual-IP-address>','9557','<DOMAIN_NAME>','<DOMAIN_HOME>','ssl')
    wls:/nm/mydomain> nmStart('AdminServer')

    範例:

    wls:/offline> nmConnect('wladmin','wlpa55w0rD', '<100.xx.xx.1>','9557','essbase_domain','/u01/oracle/user_projects/domains/essbase_domain','ssl')
    wls:/nm/mydomain> nmStart('AdminServer')
  28. 保持 wlst 開啟,檢查是否可使用虛擬 IP 位址存取 WebLogic 伺服器管理主控台。例如,http://100.xx.xx.1:7001/console。

  29. 停止 AdminServer。

    wls:/nm/mydomain> nmKill('AdminServer')
  30. 結束 WebLogic 指令碼工具。範例:

    exit()
  31. 移至共用網路磁碟機,並使用與 Essbase <DOMAIN_NAME> 相同的名稱建立新目錄。範例:

    cd /nfs/essbase_data
    mkdir essbase_domain
  32. 將 Essbase 網域子目錄 bin、config 和 /servers/AdminServer 移至共用磁碟機上的新目錄。範例:

    mv /u01/oracle/user_projects/domains/essbase_domain/bin /nfs/essbase_data/essbase_domain/
    mv /u01/oracle/user_projects/domains/essbase_domain/config /nfs/essbase_data/essbase_domain/
    mv /u01/oracle/user_projects/domains/essbase_domain/servers/AdminServer /nfs/essbase_data/essbase_domain/
  33. 導覽回 <Domain_Home>,並建立共用磁碟機上 Essbase 網域資料夾的符號連結。範例:

    cd /u01/oracle/user_projects/domains/essbase_domain/
    ln -s /nfs/essbase_data/essbase_domain/bin .
    ln -s /nfs/essbase_data/essbase_domain/config .
    cd servers/
    ln -s /nfs/essbase_data/essbase_domain/AdminServer .
  34. SSH 至 Essbase 次要節點 (主機 2),導覽至 <Domain_Home>,然後將目錄結構設為 /tmp/admin。範例:

    cd /u01/oracle/user_projects/domains/essbase_domain
    mkdir /tmp/admin
  35. 將網域子目錄 bin、config 和 /servers/AdminServer 移至 /tmp/admin。範例:

    mv bin /tmp/admin/
    mv config /tmp/admin/
    mv ./servers/AdminServer /tmp/admin/
  36. 將符號連結到共用磁碟機上的 Essbase 網域資料夾。範例:

    
    ln -s /nfs/essbase_data/essbase_domain/bin .
    ln -s /nfs/essbase_data/essbase_domain/config .
    cd servers/
    ln -s /nfs/essbase_data/essbase_domain/AdminServer .

驗證 AdminServer 高可用性

若要驗證您是否已順利使用 Essbase 容錯移轉環境設定 WebLogic AdminServer 高可用性,請測試您是否可以使用虛擬 IP 位址,從 Essbase 主要節點和任何容錯移轉節點存取 WebLogic 伺服器管理主控台。

  1. SSH 至 Essbase 主要節點 (主機 1),導覽至 <Domain_Home>/bin,然後在背景執行 startNodeManagerAdmin.sh。範例:

    cd /u01/oracle/user_projects/domains/essbase_domain/bin
    ./startNodeManagerAdmin.sh &
  2. 設定網域環境。範例:

    source /u01/oracle/user_projects/domains/essbase_domain/bin/setDomainEnv.sh
  3. 執行位於 <ORACLE_HOME>/oracle_common/common/bin 的 WebLogic Scripting Tool。範例:

    /u01/oracle/user_projects/oracle_common/common/bin/wlst.sh
  4. 在 wls:/offline> 提示下,連線至「節點管理程式」,然後啟動 AdminServer。例如,使用下列指令 (將 <variables> 取代為您的值):

    wls:/offline> nmConnect('<WebLogic_admin_user>','<WebLogic_admin_password>', '<Virtual-IP-address>','9557','<DOMAIN_NAME>','<DOMAIN_HOME>','ssl')
    wls:/nm/mydomain> nmStart('AdminServer')

    範例:

    wls:/offline> nmConnect('wladmin','wlpa55w0rD', '<100.xx.xx.1>','9557','essbase_domain','/u01/oracle/user_projects/domains/essbase_domain','ssl')
    wls:/nm/mydomain> nmStart('AdminServer')
  5. 檢查是否可以使用虛擬 IP 位址存取 WebLogic 伺服器管理主控台。例如,http://100.xx.xx.1:7001/console。

  6. 停止 AdminServer。

    wls:/nm/mydomain> nmKill('AdminServer')
  7. 結束 WebLogic 指令碼工具。範例:

    exit()
  8. SSH 至 Essbase 次要節點 (主機 2),導覽至 <Domain_Home>/bin,然後在背景執行 startNodeManagerAdmin.sh。範例:

    cd /u01/oracle/user_projects/domains/essbase_domain2/bin
    ./startNodeManagerAdmin.sh &
  9. 設定網域環境。範例:

    source /u01/oracle/user_projects/domains/essbase_domain2/bin/setDomainEnv.sh
  10. 執行位於 <ORACLE_HOME>/oracle_common/common/bin 的 WebLogic Scripting Tool。範例:

    /u01/oracle/user_projects/oracle_common/common/bin/wlst.sh
  11. 在 wls:/offline> 提示下,連線至「節點管理程式」,然後啟動 AdminServer。例如,使用下列指令 (將 <variables> 取代為您的值):

    wls:/offline> nmConnect('<WebLogic_admin_user>','<WebLogic_admin_password>', '<Virtual-IP-address>','9557','<DOMAIN_NAME>','<DOMAIN_HOME>','ssl')
    wls:/nm/mydomain> nmStart('AdminServer')

    範例:

    wls:/offline> nmConnect('wladmin','wlpa55w0rD', '<100.xx.xx.1>','9557','essbase_domain','/u01/oracle/user_projects/domains/essbase_domain2','ssl')
    wls:/nm/mydomain> nmStart('AdminServer')
  12. 檢查是否可以使用虛擬 IP 位址存取 WebLogic 伺服器管理主控台。例如,http://100.xx.xx.1:7001/console。