본문 바로가기
카테고리 없음

[Superset] Vertica connection backup node 설정

by 쿡노트 2025. 3. 13.
반응형

Apache Superset 데이터 시각화 BI 툴을 사용하고 있고, Data를 Vertica DB에 저장하고 있다.

Vertica는 노드 3개로 구성 되어 있고, 1번 노드가 다운된 경우, Superset이 Vertica 'backup server node'로 접속하여 데이터를 조회할 수 있도록 기재한다.

 

<Superset Doc> Vertica Connection String

vertica+vertica_python://<UserName>:<DBPassword>@<Database Host>/<Database Name>

1. 아래 이미지 처럼 Supeset Database -> Edit database의  SQLAlchemy URI 입력한다. ('XXX..' 는 패스워드)

2. ADVANCED 탭으로 이동하여, Other > Engine Parameters (쿼리 실행 및 데이터베이스 연결 관련 설정) backup node 정보를 입력한다.

{
  "connect_args":{
    "backup_server_node":["192.168.1.2","192.168.1.3"]
  }
}

 

 

backup_server_node 정보는 vertica python connection.py 에서 리스트 값을 요구함으로 리스트 값을 주어야 한다. 

리스트 형태로 주지 않으면, 오류가 나는데, superset에서는 정확한 오류 로그를 출력해주진 않는다.

 

superset.out 연결 실패 오류 로그 참조

sqlalchemy.exc.DatabaseError: (vertica_python.errors.ConnectionError) Failed to establish a connection to the primary server or any backup address.

 

3. 다시 BASIC 탭으로 돌아와 'TEST CONNECTION' 클릭 후 ,'Connection looks good!' 출력되면, 정상이다. 

 

노드 1번이 다운 됐을 때, 차트 조회 후 Vertica에서는 query_profiles 테이블로 최근 쿼리를 조회하면, backup_server_node 인 node2번 쿼리 되는 것을 확인할 수 있다.

반응형