4부 - Tableau Server 설치 및 구성

이 항목은 기준 Tableau Server 배포의 설치 및 구성을 완료하는 방법을 설명합니다. 이 절차는 AWS 및 Linux 참조 아키텍처의 예를 계속 따릅니다.

설치 절차 전반에 걸친 Linux 예는 RHEL 유사 배포에 대한 명령을 보여줍니다. 특히 여기에 나온 명령은 Amazon Linux 2 배포를 통해 개발되었습니다. Ubuntu 배포를 실행 중인 경우 그에 따라 명령을 편집합니다.

시작하기 전에

3부 - Tableau Server 엔터프라이즈 배포 준비에 설명된 대로 환경을 준비하고 검증해야 합니다.

PostgreSQL 설치, 구성 및 tar 백업 만들기

이 PostgreSQL 인스턴스는 Tableau Server 배포를 위한 외부 리포지토리를 호스팅합니다. Tableau를 설치하기 전에 PostgreSQL을 설치하고 구성해야 합니다.

Amazon RDS 또는 EC2 인스턴스에서 PostgreSQL을 실행할 수 있습니다. RDS에서 리포지토리를 실행하는 경우와 EC2 인스턴스에서 리포지토리를 실행하는 경우 간의 차이점에 대한 자세한 내용은 Tableau Server 외부 리포지토리(Linux(링크가 새 창에서 열림))를 참조하십시오.

예를 들어 아래의 절차는 Amazon EC2 인스턴스에 Postgres를 설치하고 구성하는 방법을 보여줍니다. 여기에 나온 예제는 참조 아키텍처의 PostgreSQL에 대한 일반적인 설치 및 구성입니다. 따라서 조직의 DBA가 데이터 크기 및 성능 요구 사항에 따라 PostgreSQL 배포를 최적화해야 합니다.

요구 사항: PostgreSQL 1.6을 실행하고 uuid-ossp 모듈을 설치해야 합니다.

PostgreSQL 버전 관리

Tableau Server 외부 리포지토리로 사용할 호환되는 주 버전의 PostgreSQL을 설치해야 합니다. 또한 부 버전도 최소 요구 사항을 충족해야 합니다.

Tableau Server 버전PostgreSQL 최소 호환 버전
2021.2.3 ~ 2021.2.8

2021.3.0 ~ 2021.3.7

2021.4.0 ~ 2021.4.3

12.6
2021.2.10 ~ 2021.2.14

2021.3.8 ~ 2021.3.13

2021.4.4 ~ 2021.4.8

12.8
2021.2.15 ~ 2021.2.16

2021.3.14 ~ 2021.3.15

2021.4.9 ~ 2021.4.10

12.10
2021.2.17 ~ 2021.2.18

2021.3.16 ~ 2021.3.17

2021.4.11 ~ 2021.4.12

12.11
2021.3.26

2021.4.23

12.15
2022.1.013.3
2022.1.1 ~ 2022.1.313.4
2022.1.4 ~ 2022.1.613.6
2022.1.7 ~ 2022.1.16

2022.3.0 ~ 2022.3.7

2023.1.0 ~ 2023.1.4

13.7
2022.1.17 ~ 2022.1.19

2022.3.8 ~ 2022.3.11

2023.1.5 ~ 2023.1.7

13.11

PostgreSQL 설치

이 예제 설치 절차는 PostgreSQL 버전 13.6의 설치 방법을 설명합니다.

이전 부에서 만든 EC2 호스트에 로그인합니다.

  1. 업데이트를 실행하여 최신 수정을 Linux OS에 적용합니다.

    sudo yum update

  2. /etc/yum.repos.d/ 경로에서 pgdg.repo. 파일을 만들고 편집합니다. 다음 구성 정보로 파일을 채웁니다.

    [pgdg13]
    name=PostgreSQL 13 for RHEL/CentOS 7 - x86_64
    baseurl=https://download.postgresql.org/pub/repos/yum/13/redhat/rhel-7-x86_64
    enabled=1
    gpgcheck=0

  3. Posgres 13.6을 설치합니다.

    sudo yum install postgresql13-server-13.6-1PGDG.rhel7.x86_64

  4. uuid-ossp 모듈을 설치합니다.

    sudo yum install postgresql13-contrib-13.6-1PGDG.rhel7.x86_64

  5. Postgres를 초기화합니다.

    sudo /usr/pgsql-13/bin/postgresql-13-setup initdb

Postgres 구성

Postgres를 구성하여 기본 설치를 완료합니다.

  1. 다음 두 항목으로 pg_hba 구성 파일(/var/lib/pgsql/13/data/pg_hba.conf)을 업데이트합니다. 각 항목에 Tableau Server를 실행할 서브넷의 마스크를 포함해야 합니다. 

    host all all 10.0.30.0/24 password

    host all all 10.0.31.0/24 password

  2. 다음 줄을 추가하여 PostgreSQL 파일(/var/lib/pgsql/13/data/postgresql.conf)을 업데이트합니다.

    listen_addresses = '*'

  3. 재부팅 시 Postgres를 시작하도록 구성합니다.

    sudo systemctl enable --now postgresql-13

  4. 슈퍼 사용자 비밀번호를 설정합니다.

    sudo su - postgres 

    psql -c "alter user postgres with password 'StrongPassword'"

    참고: 강력한 비밀번호를 설정하십시오. 여기 예제에 표시된 대로 'StrongPassword'를 사용하지 마십시오.

    exit

  5. Postgres를 다시 시작합니다.

    sudo systemctl restart postgresql-13

PostgreSQL 1단계 tar 백업 만들기

PostgreSQL 구성의 tar 백업을 만듭니다. 현재 구성의 tar 스냅샷을 만들면 배포를 계속하는 동안 오류가 발생할 경우 시간이 절약됩니다.

이 백업을 “1단계” 백업이라고 합니다.

PostgreSQL 호스트에서

  1. Postgres 데이터베이스 인스턴스를 중지합니다.

    sudo systemctl stop postgresql-13

  2. 다음 명령을 실행하여 tar 백업을 만듭니다.

    sudo su
    cd /var/lib/pgsql
    tar -cvf step1.13.bkp.tar 13
    exit
  3. Postgres 데이터베이스를 시작합니다.

    sudo systemctl start postgresql-13

1단계 복원

설치하는 동안 Tableau Server 초기 노드가 실패하면 1단계로 복원합니다.

  1. Tableau를 실행하는 컴퓨터에서 obliterate 스크립트를 실행하여 호스트에서 Tableau Server를 완전히 제거합니다.

    sudo /app/tableau_server/packages/scripts.<version_code>/./tableau-server-obliterate -a -y -y -y -l

  2. PostgreSQL 1단계 tar를 복원합니다. Postgres를 실행하는 컴퓨터에서 다음 명령을 실행합니다.

    sudo su
    systemctl stop postgresql-13
    cd /var/lib/pgsql
    tar  -xvf step1.13.bkp.tar
    systemctl start postgresql-13
    exit

Tableau Server의 초기 노드를 설치하는 설치 프로세스를 다시 시작합니다.

설치 전 수행할 작업

이 가이드에 설명된 AWS/Linux 구현 예에 따라 Tableau를 배포하는 경우 자동 설치 스크립트인 TabDeploy4EDG를 실행할 수 있습니다. TabDeploy4EDG 스크립트는 다음 절차에 설명된 4노드 Tableau 배포의 예시 설치를 자동화합니다. 부록 - AWS 배포 도구 상자를 참조하십시오.

Tableau Server의 초기 노드 설치

다음 절차에서는 참조 아키텍처에 정의된 대로 Tableau Server의 초기 노드를 설치하는 방법에 대해 설명합니다. 패키지 설치와 TSM 초기화를 제외하고, 가능한 경우 다음 절차에서 TSM 명령줄을 사용합니다. TSM CLI를 사용하면 플랫폼에 구애받지 않을 뿐 아니라 가상화 및 헤드리스 환경에 보다 원활하게 설치할 수 있습니다.

설치 패키지 실행 및 TSM 초기화

노드 1 호스트 서버에 로그인합니다.

  1. 업데이트를 실행하여 최신 수정을 Linux OS에 적용합니다.

    sudo yum update

  2. Tableau 다운로드 페이지(링크가 새 창에서 열림)에서 Tableau Server를 실행할 호스트 컴퓨터로 설치 패키지를 복사합니다.

    예를 들어 Linux RHEL 유사 운영 체제를 실행하는 컴퓨터에서 다음을 실행합니다.

    wget https://downloads.tableau.com/esdalt/2022<version>/tableau-server-<version>.rpm

    여기서 <version>은 릴리스 번호입니다.

  3. 종속 항목을 다운로드 및 설치합니다.

    sudo yum deplist tableau-server-<version>.rpm | awk '/provider:/ {print $2}' | sort -u | xargs sudo yum -y install

  4. 루트 디렉터리에 /app/tableau_server 경로를 만듭니다.

    sudo mkdir -p /app/tableau_server

  5. 설치 프로그램을 실행하고 /app/tableau_server 설치 경로를 지정합니다. 예를 들어 Linux RHEL과 같은 운영 체제에서 다음을 실행합니다.

    sudo rpm -i --prefix /app/tableau_server tableau-server-<version>.x86_64.rpm

  6. /app/tableau_server/packages/scripts.<version_code>/ 디렉터리로 변경하고 거기에 있는 initialize-tsm 스크립트를 실행합니다.

    sudo ./initialize-tsm -d /data/tableau_data --accepteula

  7. 초기화가 완료되면 셸을 끝냅니다.

    exit

Tableau Server 활성화 및 등록

  1. 노드 1 호스트 서버에 로그인합니다.

  2. 이 단계에서 Tableau Server 제품 키를 입력합니다. 구매한 각 라이선스 키에 대해 다음 명령을 실행합니다.

    tsm licenses activate -k <product key>

  3. 다음과 같은 형식으로 json 등록 파일을 만듭니다.

    {
    "zip" : "97403",
    "country" : "USA",
    "city" : "Springfield",
    "last_name" : "Simpson",
    "industry" : "Energy",
    "eula" : "yes",
    "title" : "Safety Inspection Engineer",
    "company_employees" : "100",
    "phone" : "5558675309",
    "company" : "Example",
    "state" : "OR",
    "opt_in" : "true",					
    "department" : "Engineering",
    "first_name" : "Homer",
    "email" : "homer@example.com"
    }	
  4. 파일의 변경 내용을 저장한 후 --file 옵션을 사용하여 전달하고 Tableau Server를 등록합니다.

    tsm register --file path_to_registration_file.json

ID 저장소 구성

참고: 배포에서 Tableau 파일 저장소에 외부 저장소를 사용할 경우 ID 저장소를 구성하기 전에 외부 파일 저장소를 사용하도록 설정해야 합니다. Tableau Server에 외부 파일 저장소 설치(Linux(링크가 새 창에서 열림))를 참조하십시오.

기본 참조 아키텍처에서는 로컬 ID 저장소를 사용합니다. tsm settings import 명령으로 config.json 파일을 전달하여 초기 호스트를 로컬 ID 저장소로 구성합니다.

운영 체제에 따라 config.json 파일을 가져옵니다.

config.json 파일은 scripts.<version> 디렉터리 경로(예: scripts.20204.21.0217.1203)에 포함되어 있으며 ID 저장소를 구성할 수 있도록 형식이 지정됩니다.

다음 명령을 실행하여 config.json 파일을 가져옵니다.

tsm settings import -f /app/tableau_server/packages/scripts.<version_code>/config.json

외부 Postgres 구성

  1. 다음 구성 설정을 사용하여 외부 데이터베이스 json 파일을 만듭니다.

    {
    "flavor":"generic",
    "masterUsername":"postgres",
    "host":"<instance ip address>",
    "port":5432
    }
  2. 파일에 변경 내용을 저장한 후 다음 명령을 사용하여 파일을 전달합니다.

    tsm topology external-services repository enable -f <filename>.json --no-ssl

    Postgres 마스터 사용자 이름 및 비밀번호를 묻는 메시지가 표시됩니다.

    --no-ssl 옵션은 Postgres 서버가 SSL/TLS에 대해 구성된 경우에만 SSL/TLS를 사용하도록 Tableau를 구성합니다. Postgres가 SSL/TLS에 대해 구성되지 않은 경우 연결이 암호화되지 않습니다. 6부 - 설치 후 구성 에서는 첫 번째 배포 단계를 완료한 후 Postgres 연결에 SSL/TLS를 사용하도록 설정하는 방법에 대해 설명합니다.

  3. 변경 내용을 적용합니다.

    이 명령을 실행하여 변경 사항을 적용하고 Tableau Server를 다시 시작합니다.

    tsm pending-changes apply

  4. 1단계에서 사용한 구성 파일을 삭제합니다.

노드 1 설치 완료

  1. Tableau Server가 설치되면 서버를 초기화해야 합니다.

    다음 명령을 실행합니다.

    tsm initialize --start-server --request-timeout 1800

  2. 초기화가 완료되면 Tableau Server 관리자 계정을 만들어야 합니다.

    TSM 운영 체제 구성 요소를 설치 및 관리하는 데 사용하는 컴퓨터 계정과 달리 Tableau Server 관리자 계정은 Tableau Server 사용자, 프로젝트 및 사이트를 만드는 데 사용되는 응용 프로그램 계정입니다. Tableau Server 관리자는 Tableau 리소스에 대한 사용 권한도 적용합니다. 다음 명령을 실행하여 초기 관리자 계정을 만듭니다. 다음 예에서는 사용자를 tableau-admin이라고 합니다.

    tabcmd initialuser --server http://localhost --username "tableau-admin"

    Tabcmd는 이 사용자의 비밀번호를 설정하라는 메시지를 표시합니다.

확인: 노드 1 구성

  1. 다음 명령을 실행하여 TSM 서비스가 실행되고 있는지 확인합니다.

    tsm status -v

    Tableau에서 다음을 반환합니다.

    external: 
    Status: RUNNING
    'Tableau Server Repository 0' is running (Active Repository).
    node1: localhost
    Status: RUNNING
    'Tableau Server Gateway 0' is running.
    'Tableau Server Application Server 0' is running.
    'Tableau Server Interactive Microservice Container 0' is running.
    'MessageBus Microservice 0' is running.
    'Relationship Query Microservice 0' is running.
    'Tableau Server VizQL Server 0' is running. 
    ...

    모든 서비스가 나열됩니다.

  2. 다음 명령을 실행하여 Tableau 관리 사이트가 실행되고 있는지 확인합니다.

    curl localhost

    처음 몇 개 줄은 Vizportal html을 보여주며 다음과 유사합니다.

    <!DOCTYPE html>
    <html xmlns:ng="" xmlns:tb="">
    <head ng-csp>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="initial-scale=1, maximum-scale=2, width=device-width, height=device-height, viewport-fit=cover">
    <meta name="format-detection" content="telephone=no">
    <meta name="vizportal-config ...

Step 2 tar 백업

초기 설치를 확인한 후 두 개의 tar 백업을 수행합니다.

  • PostgreSQL
  • Tableau 초기 노드(노드 1)

대부분의 경우 이러한 tar 파일을 복원하면 초기 노드 설치를 복구할 수 있습니다. tar 파일을 복원하는 것이 초기 노드를 다시 설치하고 다시 초기화하는 것보다 훨씬 빠릅니다.

Step 2 tar 파일 만들기
  1. Tableau의 초기 노드에서 Tableau를 중지합니다.

    tsm stop

    Tableau가 멈출 때까지 기다린 후 다음 단계를 진행합니다.

  2. PostgreSQL 호스트에서 Postgres 데이터베이스 인스턴스를 중지합니다.

    sudo systemctl stop postgresql-13

  3. 다음 명령을 실행하여 tar 백업을 만듭니다.

    sudo su
    cd /var/lib/pgsql
    tar -cvf step2.13.bkp.tar 13
    exit
  4. Postgres tar 파일이 루트 권한으로 만들어졌는지 확인합니다.

    sudo ls -al /var/lib/pgsql

  5. Tableau 호스트에서 Tableau 관리 서비스를 중지합니다.

    sudo /app/tableau_server/packages/scripts.<version_code>/./stop-administrative-services
  6. 다음 명령을 실행하여 tar 백업을 만듭니다.

    cd /data
    sudo tar -cvf step2.tableau_data.bkp.tar tableau_data	
  7. Postgres 호스트에서 Postgres 데이터베이스를 시작합니다.

    sudo systemctl start postgresql-13

  8. Tableau 관리 서비스를 시작합니다.

    sudo /app/tableau_server/packages/scripts.<version_code>/./start-administrative-services
  9. tsm status 명령을 실행하여 다시 시작 전에 TSM 상태를 모니터링합니다.

    대부분의 경우 이 명령은 먼저 DEGRADED 또는 ERROR 상태를 반환합니다. 잠시 기다린 후 명령을 다시 실행합니다. ERROR 또는 DEGRADED 상태가 반환되면 계속 기다립니다. STOPPED 상태가 반환될 때까지 TSM을 시작하려고 하지 마십시오. 그런 후 다음 명령을 실행합니다.

    tsm start

Step 2 복원

이 프로세스는 Tableau 노드 1 및 Postgres 인스턴스를 Step 2로 복원합니다. 이 단계로 복원한 후 나머지 Tableau 노드를 다시 배포할 수 있습니다.

  1. 초기 Tableau 호스트(노드 1)에서 tsm 서비스를 중지합니다.

    tsm stop

  2. Tableau Server 배포의 모든 노드에서 Tableau 관리 서비스를 중지합니다. 각 노드에서 다음 명령을 순서대로 실행합니다(노드 1, 노드 2, 노드 3).

    sudo /app/tableau_server/packages/scripts.<version_code>/./stop-administrative-services
  3. Tableau 서비스가 중지된 후 PostgreSQL Step 2 tar를 복원합니다. Postgres를 실행하는 컴퓨터에서 다음 명령을 실행합니다.

    • sudo su
      systemctl stop postgresql-13
      cd /var/lib/pgsql
      tar  -xvf step2.13.bkp.tar
      systemctl start postgresql-13
      exit
  4. Tableau Step 2 tar를 복원합니다. 초기 Tableau 호스트에서 다음 명령을 실행합니다.

    cd /data
    sudo rm -rf tableau_data
    sudo tar  -xvf step2.tableau_data.bkp.tar
  5. Tableau 노드 1 컴퓨터에서 다음 파일을 제거합니다.

    • sudo rm /data/tableau_data/data/tabsvc/appzookeeper/0/version-2/currentEpoch
    • sudo rm /data/tableau_data/data/tabsvc/appzookeeper/0/version-2/acceptedEpoch
    • sudo rm /data/tableau_data/data/tabsvc/tabadminagent/0/servicestate.json
  6. Tableau 관리 서비스를 시작합니다.

    sudo /app/tableau_server/packages/scripts.<version_code>/./start-administrative-services

  7. Tableau Systmctl 파일을 다시 로드한 다음 start-administrative-services를 다시 실행합니다.

    sudo su -l tableau -c "systemctl --user daemon-reload"

    sudo /app/tableau_server/packages/scripts.<version_code>/./start-administrative-services

  8. 노드 1에서 tsm status 명령을 실행하여 다시 시작 전에 TSM 상태를 모니터링합니다.

    일부 경우 Cannot connect to server... 오류가 표시됩니다. 이 오류는 tabadmincontroller 서비스가 다시 시작되지 않았기 때문에 발생합니다. 계속해서 tsm status를 주기적으로 실행합니다. 10분 후에도 이 오류가 사라지지 않으면 start-administrative-services 명령을 다시 실행합니다.

    몇 분 후에 tsm status 명령은 DEGRADED 상태를 반환하고 그런 다음 ERROR 상태를 반환합니다. STOPPED 상태가 반환될 때까지 TSM을 시작하지 마십시오. 그런 후 다음 명령을 실행합니다.

    tsm start

나머지 노드에서 Tableau Server를 설치하는 설치 프로세스를 다시 시작합니다.

나머지 노드에 Tableau Server 설치

배포를 계속하려면 각 노드에 Tableau 설치 프로그램을 복사합니다.

노드 구성 개요

이 섹션에서는 노드 2~4를 구성하는 프로세스를 설명합니다. 이후 섹션에는 각 단계의 자세한 구성 정보와 검증 절차가 제공됩니다.

Tableau Server의 2~4번 노드를 설치할 때는 노드 설치 중에 부트스트랩 파일을 생성, 복사 및 참조해야 합니다.

부트스트랩 파일을 생성하려면 초기 노드에서 TSM 명령을 실행합니다. 그런 다음 부트스트랩 파일을 대상 노드에 복사하고 대상 노드에서 노드 초기화의 일부로 실행합니다.

다음 json 콘텐츠는 부트스트랩 파일의 예를 보여줍니다. (인증서 및 암호화 관련 값은 예제 파일의 가독성을 높이기 위해 잘렸습니다.)

{
"initialBootstrapSettings" : {
	"certificate" : "-----BEGIN CERTIFICATE-----\r\...=\r\n-----END CERTIFICATE-----",
	"port" : 8850,
	"configurationName" : "tabsvc",
	"clusterId" : "tabsvc-clusterid",
	"cryptoKeyStore" : "zs7OzgAAAAIAAAABAAAAA...w==",
	"toksCryptoKeystore" : "LS0tLS1CRUdJTiBUT00tLS0tCjM5MDBh...L",
	"sessionCookieMaxAge" : 7200,
	"nodeId" : "node1",
	"machineAddress" : "ip-10-0-1-93.us-west-1.compute.internal",
	"cryptoEnabled" : true,
	"sessionCookieUser" : "tsm-bootstrap-user",
	"sessionCookieValue" : "eyJjdHkiOiJKV1QiLCJlbmMiOiJBMTI4Q0JDLUhQ...",
	"sessionCookieName" : "AUTH_COOKIE"
	}
}

부트스트랩 파일은 노드 1을 인증하기 위한 연결 기반 검증을 포함하며 부트스트랩 프로세스를 위한 암호화된 채널을 만듭니다. 부트스트랩 세션은 시간이 제한되어 있으며 노드 구성 및 검증에는 많은 시간이 소요됩니다. 그러므로 노드를 구성할 때 새 부트스트랩을 만들고 복사할 계획을 세우십시오.

부트스트랩 파일을 실행한 후 초기 Tableau Server 노드에 로그인하고 새 노드에 대한 프로세스를 구성합니다. 노드 구성이 완료되면 변경 내용을 적용하고 초기 노드를 다시 시작해야 합니다. 새 노드가 구성되고 시작됩니다. 노드를 추가하면 배포를 구성하고 다시 시작하는 시간이 계속해서 길어집니다.

설치 절차 전반에 걸친 Linux 예는 RHEL 유사 배포에 대한 명령을 보여줍니다. Ubuntu 배포를 실행 중인 경우 그에 따라 명령을 편집합니다.

  1. 업데이트를 실행하여 최신 수정을 Linux OS에 적용합니다.

    sudo yum update

  2. 종속 항목을 다운로드 및 설치합니다.

    sudo yum deplist tableau-server-<version>.rpm | awk '/provider:/ {print $2}' | sort -u | xargs sudo yum -y install

  3. 루트 디렉터리에 /app/tableau_server 경로를 만듭니다.

    sudo mkdir -p /app/tableau_server

  4. 설치 프로그램을 실행하고 /app/tableau_server 설치 경로를 지정합니다. 예를 들어 Linux RHEL과 같은 운영 체제에서 다음을 실행합니다.

    sudo rpm -i --prefix /app/tableau_server tableau-server-<version>.x86_64.rpm

부트스트랩 파일을 생성, 복사 및 사용하여 TSM 초기화

다음 절차는 다른 노드에서 TSM을 초기화할 때 부트스트랩 파일을 생성, 복사 및 사용하는 방법을 보여줍니다. 이 예에서 부트스트랩 파일의 이름은 boot.json입니다.

이 예에서 호스트 컴퓨터는 AWS에서 실행되고 EC2 호스트는 Amazon Linux 2를 실행합니다.

  1. 초기 노드(노드 1)에 연결하고 다음 명령을 실행합니다.

    tsm topology nodes get-bootstrap-file --file boot.json

  2. 부트스트랩 파일을 노드 2에 복사합니다.

    scp boot.json ec2-user@10.0.31.83:/home/ec2-user/

  3. 노드 2에 연결하고 Tableau Server 스크립트 디렉터리로 전환합니다.

    cd /app/tableau_server/packages/scripts.<version_number>

  4. initialize-tsm 명령을 실행하고 부트스트랩 파일을 참조합니다.

    sudo ./initialize-tsm -d /data/tableau_data -b /home/ec2-user/boot.json --accepteula

  5. initialize-tsm이 완료되면 boot.json을 삭제한 다음 세션을 끝내거나 로그아웃합니다.

프로세스 구성

Tableau Server 관리 컨트롤러(TSM 컨트롤러)가 실행 중인 노드에서 Tableau Server 클러스터를 구성해야 합니다. TSM 컨트롤러는 초기 노드에서 실행됩니다.

노드 2 구성

  1. 노드 2에서 부트스트랩 파일을 사용하여 TSM을 초기화한 후 초기 노드에 로그인합니다.
  2. 초기 노드(node1)에서 다음 명령을 실행하여 노드 2의 프로세스를 구성합니다.

    tsm topology set-process -n node2 -pr clustercontroller -c 1
    tsm topology set-process -n node2 -pr gateway -c 1
    tsm topology set-process -n node2 -pr vizportal -c 1
    tsm topology set-process -n node2 -pr vizqlserver -c 2
    tsm topology set-process -n node2 -pr cacheserver -c 2
    tsm topology set-process -n node2 -pr searchserver -c 1
    tsm topology set-process -n node2 -pr dataserver -c 2
    tsm topology set-process -n node2 -pr clientfileservice -c 1
    tsm topology set-process -n node2 -pr tdsservice -c 1
    tsm topology set-process -n node2 -pr collections -c 1
    tsm topology set-process -n node2 -pr contentexploration -c 1

    버전 2022.1 이상을 설치하는 경우 인덱스 및 검색 서비스도 추가합니다.

    tsm topology set-process -n node2 -pr indexandsearchserver -c 1

    버전 2023.3 이상을 설치하는 경우 인덱스 및 검색 서비스만 포함하십시오. 검색 및 찾아보기(searchserver) 서비스는 추가하지 마십시오.

  3. 적용하기 전에 구성을 검토합니다. 다음 명령을 실행합니다.

    tsm pending-changes list

  4. 변경 내용이 보류 목록(보류 목록에는 다른 서비스도 포함됨)에 있는지 확인한 후 변경 내용을 적용합니다.

    tsm pending-changes apply

    변경 내용을 적용하려면 다시 시작해야 합니다. 구성 및 다시 시작에는 시간이 조금 걸립니다.

  5. 노드 2 구성을 확인합니다. 다음 명령을 실행합니다.

    tsm status -v

노드 3 구성

노드 3에서 부트스트랩 프로세스를 사용하여 TSM을 초기화한 다음 아래의 tsm topology set-process 명령을 실행합니다.

프로세스를 설정할 때마다 조정 서비스 경고가 표시됩니다. 프로세스를 설정할 때는 이 경고를 무시해도 됩니다.

  1. 노드 3에서 부트스트랩 파일을 사용하여 TSM을 초기화한 후 초기 노드(node1)에 로그인하고 다음 명령을 실행하여 프로세스를 구성합니다.

    tsm topology set-process -n node3 -pr clustercontroller -c 1
    tsm topology set-process -n node3 -pr clientfileservice -c 1
    tsm topology set-process -n node3 -pr backgrounder -c 4
    tsm topology set-process -n node3 -pr filestore -c 1

    버전 2022.1 이상을 설치하는 경우 인덱스 및 검색 서비스도 추가합니다.

    tsm topology set-process -n node3 -pr indexandsearchserver -c 1
  2. 적용하기 전에 구성을 검토합니다. 다음 명령을 실행합니다.

    tsm pending-changes list

  3. 변경 내용이 보류 목록(이 목록에는 자동으로 구성되는 다른 서비스도 포함됨)에 있는지 확인한 후 변경 내용을 적용합니다.

    tsm pending-changes apply --ignore-warnings

    변경 내용을 적용하려면 다시 시작해야 합니다. 구성 및 다시 시작에는 시간이 조금 걸립니다.

  4. 다음 명령을 실행하여 구성을 확인합니다.

    tsm status -v

노드 1~3에 조정 서비스 집합 배포

표준 참조 아키텍처인 4노드 배포의 경우 다음 절차를 실행합니다.

  1. 노드 1에서 다음 명령을 실행합니다.

    tsm stop
    tsm topology deploy-coordination-service -n node1,node2,node3

    이 프로세스에는 TSM을 재시작하는 작업이 포함되어 있으며, 시간이 다소 걸립니다.

  2. 조정 서비스가 배포된 후 TSM을 시작합니다.

    tsm start

3단계 tar 백업 만들기

설치를 확인한 후 4개의 tar 백업을 수행합니다.

  • PostgreSQL
  • Tableau 초기 노드(노드 1)
  • Tableau 노드 2
  • Tableau 노드 3
Step 3 tar 파일 만들기
  1. Tableau의 초기 노드에서 Tableau를 중지합니다.

    tsm stop

  2. TSM이 중지된 후 각 노드에서 Tableau 관리 서비스를 중지합니다. 각 노드에서 다음 명령을 순서대로 실행합니다(노드 1, 노드 2, 노드 3).

    sudo /app/tableau_server/packages/scripts.<version_code>/./stop-administrative-services

  3. PostgreSQL 호스트에서 Postgres 데이터베이스 인스턴스를 중지합니다.

    sudo systemctl stop postgresql-12

  4. 다음 명령을 실행하여 tar 백업을 만듭니다.

    sudo su
    cd /var/lib/pgsql
    tar -cvf step3.12.bkp.tar 12
    exit
  5. Postgres tar 파일이 루트 권한으로 만들어졌는지 확인합니다.

    sudo ls -al /var/lib/pgsql

  6. Postgres 호스트에서 Postgres 데이터베이스를 시작합니다.

    sudo systemctl start postgresql-12

  7. 노드 1, 노드 2 및 노드 3에 tar 백업을 만듭니다. 각 노드에서 다음 명령을 실행합니다.

    • cd /data
      sudo tar -cvf step3.tableau_data.bkp.tar tableau_data
    • Tableau tar 파일이 루트 권한으로 만들어졌는지 확인합니다.

      ls -al

  8. 각 노드에서 Tableau 관리 서비스를 순서대로 시작합니다(노드 1, 노드 2, 노드 3).

    sudo /app/tableau_server/packages/scripts.<version_code>/./start-administrative-services

  9. tsm status 명령을 실행하여 다시 시작 전에 TSM 상태를 모니터링합니다.

    대부분의 경우 이 명령은 DEGRADED 상태를 반환한 다음 ERROR 상태를 반환합니다. 잠시 기다린 후 명령을 다시 실행합니다. ERROR 또는 DEGRADED 상태가 반환되면 계속 기다립니다. STOPPED 상태가 반환될 때까지 TSM을 시작하려고 하지 마십시오. 그런 후 다음 명령을 실행합니다.

    tsm start

Step 3 복원

다음 프로세스는 Tableau 노드 1, 노드 2 및 노드 3을 복원합니다. 또한 Postgres 인스턴스를 Step 3으로 복원합니다. 이 Step으로 복원한 후 조정 서비스, 노드 4 및 최종 노드 구성을 배포할 수 있습니다.

  1. 초기 Tableau 호스트(노드 1)에서 tsm 서비스를 중지합니다.

    tsm stop

  2. TSM이 중지된 후 노드 1, 노드 2 및 노드 3에서 Tableau 관리 서비스를 중지합니다. 각 노드에서 다음 명령을 실행합니다.

    sudo /app/tableau_server/packages/scripts.<version_code>/./stop-administrative-services

  3. PostgreSQL Step 3 tar를 복원합니다. Postgres를 실행하는 컴퓨터에서 다음 명령을 실행합니다.

    sudo su
    systemctl stop postgresql-12
    cd /var/lib/pgsql
    tar -xvf step3.12.bkp.tar
    systemctl start postgresql-12
    exit
  4. 노드 1, 노드 2 및 노드 3에서 Tableau Step 3 tar를 복원합니다. 각 Tableau 노드에서 다음 명령을 실행합니다.

    cd /data
    sudo rm -rf tableau_data
    sudo tar  -xvf step3.tableau_data.bkp.tar
  5. Tableau 노드 1 컴퓨터에서 다음 파일을 제거합니다.

    • sudo rm /data/tableau_data/data/tabsvc/appzookeeper/1/version-2/currentEpoch
    • sudo rm /data/tableau_data/data/tabsvc/appzookeeper/1/version-2/acceptedEpoch
    • sudo rm /data/tableau_data/data/tabsvc/tabadminagent/0/servicestate.json

    셸에서 “파일을 찾을 수 없음” 오류가 반환되는 경우 파일 이름을 변경하여 경로의 .../appzookeeper/<n>/version-2/... 섹션에서 숫자 <n>을 늘려야 할 수 있습니다.

  6. 노드 1, 노드 2 및 노드 3에서 관리 서비스를 다시 시작합니다. 각 노드에서 다음 명령을 실행합니다.

    sudo /app/tableau_server/packages/scripts.<version_code>/./start-administrative-services

    sudo su -l tableau -c "systemctl --user daemon-reload"

    sudo /app/tableau_server/packages/scripts.<version_code>/./start-administrative-services

  7. 노드 1에서 tsm status 명령을 실행하여 다시 시작 전에 TSM 상태를 모니터링합니다.

    일부 경우 Cannot connect to server... 오류가 표시됩니다. 이 오류는 tabadmincontroller 서비스가 다시 시작되지 않았기 때문에 발생합니다. 계속해서 tsm status를 주기적으로 실행합니다. 10분 후에도 이 오류가 사라지지 않으면 start-administrative-services 명령을 다시 실행합니다.

    몇 분 후에 tsm status 명령은 DEGRADED 상태를 반환하고 그런 다음 ERROR 상태를 반환합니다. STOPPED 상태가 반환될 때까지 TSM을 시작하지 마십시오. 그런 후 다음 명령을 실행합니다.

    tsm start

노드 1~3에 조정 서비스를 배포하는 설치 프로세스를 다시 시작합니다.

노드 4 구성

노드 4의 구성 프로세스는 노드 3과 동일합니다.

위에 표시된 것과 동일한 명령 집합을 실행하되 명령에 node4를 지정(node3 대신)하여 노드 3에 설정한 것과 동일한 프로세스를 설정합니다.

노드 3을 확인할 때와 마찬가지로 tsm status -v를 실행하여 노드 4 구성을 확인합니다.

계속하기 전에 노드 4의 파일 저장소 프로세스 동기화가 완료될 때까지 기다립니다. 파일 저장소 서비스 상태는 완료될 때까지 is synchronizing을 반환합니다. 파일 저장소 서비스 상태가 is running을 반환하면 계속할 수 있습니다.

마지막 프로세스 구성 및 검증

구성 프로세스의 마지막 단계는 노드 1에서 중복 프로세스를 제거하는 것입니다.

  1. 초기 노드(node1)에 연결합니다.

  2. 노드 1의 파일 저장소를 해제합니다. 그러면 함께 배치된 컨트롤러에서 파일 저장소가 제거된다는 내용의 경고가 표시됩니다. 이 경고는 무시해도 됩니다. 다음 명령을 실행합니다.

    tsm topology filestore decommission -n node1

  3. 파일 저장소가 해제되면 다음 명령을 실행하여 노드 1에서 백그라운더 프로세스를 제거합니다.

    tsm topology set-process -n node1 -pr backgrounder -c 0

  4. 적용하기 전에 구성을 검토합니다. 다음 명령을 실행합니다.

    tsm pending-changes list

  5. 변경 내용이 보류 목록에 있는지 확인한 후 변경 내용을 적용합니다.

    tsm pending-changes apply

    변경 내용을 적용하려면 다시 시작해야 합니다. 구성 및 다시 시작에는 시간이 조금 걸립니다.

  6. 구성을 확인합니다.

    tsm status -v.

    계속하기 전에 노드 4의 파일 저장소 프로세스 동기화가 완료될 때까지 기다립니다. 파일 저장소 서비스 상태는 완료될 때까지 is synchronizing을 반환합니다. 파일 저장소 서비스 상태가 is running을 반환하면 계속할 수 있습니다.

백업 수행

Tableau Server의 전체 복구를 수행하려면 다음 세 가지 구성 요소가 포함된 백업 포트폴리오가 필요합니다.

  • 리포지토리와 파일 저장소 데이터의 백업 파일. 이 파일은 tsm maintenance backup 명령에 의해 생성됩니다.
  • 토폴로지 및 구성 내보내기 파일. 이 파일은 tsm settings export 명령에 의해 생성됩니다.
  • 인증 인증서, 키 및 keytab 파일.

백업 및 복원 프로세스에 대한 자세한 설명은 Tableau Server 항목인 Tableau Server의 전체 백업 및 복원 수행(Linux(링크가 새 창에서 열림) | Linux)을 참조하십시오.

배포의 이 단계에서는 tsm maintenance backuptsm settings export 명령을 실행하여 전체 복원에 필요한 모든 관련 파일 및 자산이 포함됩니다.

  1. 다음 명령을 실행하여 구성 및 토폴로지 설정을 ts_settings_backup.json이라는 파일로 내보냅니다.

    tsm settings export -f ts_settings_backup.json

  2. 다음 명령을 실행하여 이름이 ts_backup-<yyyy-mm-dd>.tsbak인 파일에 리포지토리 및 파일 저장소 데이터의 백업을 만듭니다. 파일 저장소가 컨트롤러 노드에 없다는 내용의 경고를 무시합니다.

    tsm maintenance backup -f ts_backup -d --skip-compression

    백업 파일의 위치:

    /data/tableau_data/data/tabsvc/files/backups/

  3. 두 파일을 모두 복사하고 Tableau Server 배포와 공유하지 않는 다른 저장소 자산에 저장합니다.

피드백을 제공해 주셔서 감사합니다!귀하의 피드백이 제출되었습니다. 감사합니다!