관리 서버 페일오버 설정

독립 배포의 Essbase는 관리 서버로 실행되며 기본 노드에서 실패할 경우 시작, 중지 및 페일오버 모드로 전환하기 위해 WebLogic 관리 서버에 종속됩니다.

기본 호스트를 사용할 수 없는 경우 둘 이상의 호스트에서 페일오버 모드로 Essbase를 설정할 수 있습니다. 또한 Essbase 페일오버 노드를 초기화할 수 있도록 고가용성을 위해 WebLogic 관리 서버를 설정하는 것이 좋습니다.

이 항목에는 Essbase 페일오버 구성을 사용하여 AdminServer 고가용성을 설정하는 지침이 포함되어 있습니다. WebLogic AdminServer 고가용성에 대한 일반 정보는 관리 서버 고가용성을 참조하십시오.

Essbase 관리 서버의 고가용성 사전 구성

Essbase에 사용되는 WebLogic 관리 서버에 대해 고가용성을 사용으로 설정하려면 다음 구성을 완료하십시오.

  1. WebLogic 서버 관리 콘솔에 로그인합니다.

  2. 홈 페이지의 도메인 구조에서 Essbase 도메인 이름(예: essbase_domain)을 누릅니다.


    WebLogic 콘솔에서 essbase_domain은 도메인 구조의 루트입니다.

  3. 탭을 사용하여 Security > Embedded LDAP로 이동합니다.


    보안이 포함된 WebLogic 콘솔 > essbase_domain에 포함된 LDAP 탭이 열렸습니다.

  4. 다음 옵션의 선택을 취소하고 Save를 누릅니다.


    WebLogic 포함된 LDAP 설정의 [마스터 우선] 옵션이 선택 취소되었습니다.

  5. Stop, Start, and Check Servers에 설명된 대로 SSH를 사용하여 1을 호스트하고 Essbase(AdminServer 및 관리 서버 둘 다)를 다시 시작합니다.

    주:

    EPM Shared Services 배포에서만 Essbase 관리 서버를 시작하기 전에 EPM WebLogic Server를 시작해야 합니다.

    각 서버를 개별적으로 시작 및 중지하려면 서버 이름과 함께 -i 매개변수를 사용합니다.

    Linux 예제(start):

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

    Windows 예제(시작):

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

관리 서버 고가용성 설정

필요 조건

Essbase 페일오버 환경을 사용하여 WebLogic 관리 서버 고가용성을 설정하려면

  1. 주 노드(호스트 1)에서 VIP(가상 IP 주소)를 만듭니다.

    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. 홈 페이지의 Domain Configurations > Environment에서 Servers로 이동하고 AdminServer를 누릅니다.

  6. 변경 센터 창에서 잠금 및 편집을 누릅니다.


    "잠금 및 편집" 단추에 초점을 맞춘 WebLogic 관리 콘솔의 변경 센터 섹션

  7. 수신 주소를 VIP(가상 IP) 주소로 변경합니다.

  8. 저장을 누릅니다.

  9. 변경사항 활성화를 누릅니다.


    "변경 사항 활성화" 단추에 초점을 맞춘 WebLogic 관리 콘솔의 변경 센터 섹션

  10. 관리 서버를 다시 시작합니다.

  11. WebLogic 서버 관리 콘솔에 다시 로그인합니다.

  12. 도메인 구조에서 Environment(환경) > Machines(시스템)로 이동합니다.


    WebLogic 콘솔 도메인 구조 트리입니다. essbase_domain 아래에 환경이 확장되고 시스템이 선택됩니다.

  13. 잠금 및 편집을 누른 다음 [신규]를 눌러 adminmachine이라는 새 시스템을 추가합니다. Machine OS를 Unix로 설정하고 Next를 누릅니다.


    WebLogic 콘솔에서 새 시스템 워크플로우 생성의 시스템 ID 섹션

  14. Node Manager 유형을 SSL로 설정하고, Listen Address를 VIP(가상 IP) 주소로 설정하고, 포트를 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/bin에 있는 WebLogic 스크립팅 도구를 실행합니다. 예:

    /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. Essbase 보조 노드(호스트 2)에 SSH를 적용하고 <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 고가용성을 성공적으로 설정했는지 검증하려면 Essbase 기본 노드 및 페일오버 노드에서 가상 IP 주소를 사용하여 WebLogic 서버 관리 콘솔에 액세스할 수 있는지 테스트합니다.

  1. Essbase 기본 노드(호스트 1)에 SSH를 적용하고 <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 스크립팅 도구를 실행합니다. 예:

    /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. Essbase 보조 노드(호스트 2)에 SSH를 적용하고 <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 스크립팅 도구를 실행합니다. 예:

    /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.