기술 자료

Tableau Server 업그레이드 후 브라우저의 로그인 화면에 "Sign In Failed(로그인 실패)" 오류가 표시됨


게시 날짜: 25 Aug 2016
마지막 수정 날짜: 24 Aug 2022

문제

Tableau Server 10으로 업그레이드한 후 다음과 같은 문제가 발생할 수 있습니다.

Tableau Server에 로그인하는 데 실패하고 "Sign in failed(로그인 실패)" 오류가 발생할 수 있음

또는

로그에 다음 오류가 표시될 수 있음:

"PSQLException: Connection to localhost:8060 refused"(PSQLException: localhost:8060 연결 거부됨)

또는

리포지토리가 'stopped(중지됨)' 또는 'setting up(설정 중)' 상태로 표시될 수 있음 

이 해결 방법을 적용할 수 있는지 결정하려면 오류 발생 시점에 clustercontroller 로그에 다음 오류가 있는지 확인하세요.

 WARN  : com.tableausoftware.cluster.postgres.SpawnPostgresRunner - Monitoring thread for the master instance didn't start. Trying failover...((WARN  : com.tableausoftware.cluster.postgres.SpawnPostgresRunner - 마스터 인스턴스의 모니터링 스레드가 시작되지 않았습니다. 장애 조치 시도 중...)
org.postgresql.util.PSQLException: FATAL: the database system is starting up(org.postgresql.util.PSQLException: FATAL: 데이터베이스 시스템 시작 중)
...
INFO  : com.tableausoftware.cluster.postgres.SpawnPostgresRunner - Failing over master Postgres to localhost:8060(INFO  : com.tableausoftware.cluster.postgres.SpawnPostgresRunner - 마스터 Postgres를 localhost:8060으로 이동하는 장애 조치 수행 중)
INFO  : com.tableausoftware.cluster.postgres.SpawnPostgresRunner - Stopping the monitoring thread for Postgres instance on localhost:8060(INFO  : com.tableausoftware.cluster.postgres.SpawnPostgresRunner - localhost:8060에서 Postgres 인스턴스에 대한 모니터링 스레드를 중지하는 중)
INFO  : com.tableausoftware.cluster.postgres.SpawnPostgresRunner - Starting the monitoring thread for master Postgres instance on localhost:8060(INFO  : com.tableausoftware.cluster.postgres.SpawnPostgresRunner - localhost:8060에서 마스터 Postgres 인스턴스에 대한 모니터링 스레드를 시작하는 중)

환경

Tableau Server 10

해결 방법

옵션 1:
IT 팀과 함께 디스크 성능을 높이거나 Tableau Server를 실행하는 컴퓨터의 tableau 폴더를 바이러스 백신 검사에서 제외하는 작업을 수행합니다.
옵션 2:
Postgres(Tableau Server 리포지토리)의 clustercontroller 시간 제한 설정을 상향 조정합니다. 명령 프롬프트를 관리자 권한으로 열고 다음 명령을 실행합니다.
tabadmin stop
tabadmin set clustercontroller.pgsql_connection_timeout_ms 6000
tabadmin config
tabadmin start

 
값을 6000으로 설정한 후에도 문제가 지속되면 값을 최대 60000까지 다시 높일 수 있습니다. 최상의 결과를 얻으려면 가장 낮은 값을 사용하는 것이 좋습니다.

원인

Postgres를 시작하는 데 기본 시간(60초)보다 더 오래 걸립니다. 이 동작은 느린 입력/출력이나 다른 환경 요인 때문에 발생할 수 있습니다.  

추가 정보

Tableau Server는 데이터베이스를 다시 시도하거나 다시 시작하기 전에 설정된 시간(기본적으로 60초) 동안 데이터베이스가 시작되기를 기다립니다. 시간 초과는 다음 2개의 workgroup.yml 설정에 따라 결정됩니다.

clustercontroller.pgsql_connection_attempts (기본값=20)
clustercontroller.pgsql_connection_timeout_ms (default value=3000)

이 2개 값의 곱에 따라 총 시간 초과 값이 결정됩니다. (60000밀리초 또는 60초).

clustercontroller.pgsql_connection_timeout_ms 값을 늘리면 clustercontroller가 장애 조치를 시도하기 전에 Postgres의 응답을 기다리는 시간이 늘어납니다. 이 설정의 값을 늘리면 Tableau Server의 성능이 저하될 수 있습니다. 예를 들어 장애 발생 시 Tableau Server가 응답하지 않는 시간이 늘어날 수 있습니다. Postgres가 실제로 중단된 경우 clustercontroller가 다시 시작하기 전에 대기하는 시간이 길어지기 때문입니다. 따라서 이 설정에는 가장 낮은 값을 사용하는 것이 좋습니다.  
가장 좋은 해결 방법은 Postgres의 시작을 지연시키는 환경적 요인에 대해 조사하는 것입니다. 성능 조사에 대한 해결 시간이 길어지는 경우 빠른 해결 방법으로 clustercontroller.pgsql_connection_timeout_ms 설정을 수정하면 유용할 수 있습니다. 
이 문서로 문제가 해결되었습니까?