設定管理伺服器容錯移轉

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

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

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

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

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

  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.domainsnodemanager.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/binWebLogic 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 網域子目錄 binconfig/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. 將網域子目錄 binconfig/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/binWebLogic 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/binWebLogic 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