코알못

[Redash] V8 > V10 업그레이드 본문

BIG DATA

[Redash] V8 > V10 업그레이드

코린이s 2022. 2. 26. 12:20
728x90

저자의 경우 redash 에서 제공하는 AMI 이미지로 설치를 진행하였으나 버전은 V8(8.0.0+b32245) 이였다.

redash 커뮤니티 사이트를 찾아보니 github 에는 v10.1.0(10.1.0.b50633) 까지 버전이 나왔으나 AMI 는 V8 까지 나온것으로 확인 되었다.

업그레이드 가이드를 제공하고 있어 지금부터 v10.1.0(10.1.0.b50633) 으로 업그레이드 해보자!

- git : https://github.com/getredash/redash/releases

 

Releases · getredash/redash

Make Your Company Data Driven. Connect to any data source, easily visualize, dashboard and share your data. - getredash/redash

github.com

우선 V8 > V10 에서 아래와 같이 큐를 변경 하였기에 해당 설정을 수정해주어야 한다.

- Celery(Python으로 작성된 비동기 작업 큐) > RQ (Redis Queue)

우선 서버에 접속한다.

$ ssh -i emr-hong.pem ubuntu@[public ip]

설정 파일이 있는 디렉토리로 간다.

// redash 관련 경로 이동
$ cd /opt/redash/
// 도커 설정 백업
$ sudo cp docker-compose.yml docker-compose_bk.yml
// 수정 
$ sudo vi docker-compose.yml

우선 이미지 파일 버전을 변경 한다. (8.0.0.b32245 > 10.1.0.b50633)

version: "2"
x-redash-service: &redash-service
  image: redash/redash:10.1.0.b50633

 

services.scheduler.environment 모두 제거

// 이전

services:
  server:
    <<: *redash-service
    command: server
    ports:
      - "5000:5000"
    environment:
      REDASH_WEB_WORKERS: 4
  scheduler:
    <<: *redash-service
    command: scheduler
    environment:
      QUEUES: "celery"
      WORKERS_COUNT: 1
  scheduled_worker:
    <<: *redash-service
    command: worker
    environment:
      QUEUES: "scheduled_queries,schemas"
      WORKERS_COUNT: 1
  adhoc_worker:
    <<: *redash-service
    command: worker
    environment:
      QUEUES: "queries"
      WORKERS_COUNT: 2

// 이후

services:
  server:
    <<: *redash-service
    command: server
    ports:
      - "5000:5000"
    environment:
      REDASH_WEB_WORKERS: 4
  scheduler:
    <<: *redash-service
    command: scheduler
  scheduled_worker:
    <<: *redash-service
    command: worker
  adhoc_worker:
    <<: *redash-service
    command: worker

services.worker 추가

services:
...
  adhoc_worker:
    <<: *redash-service
    command: worker
  worker:
    <<: *redash-service
    command: worker
    environment:
      QUEUES: "periodic emails default"
      WORKERS_COUNT: 1

도커 컨테이너 중단

$ sudo docker-compose stop server scheduler scheduled_worker adhoc_worker

컨테이너 강제 빌드 (-build 를 통해 이미지 재빌드, --force-recreate 를 통해 모든 컨테이너를 지우고 다시 작성 되도록 함) 

자동으로 시작되나 마이그레이션을 작업이 남아있기에 로그에 별다른 오류가 없고

redash 접속시(public ip 브라우저창에 입력) 로그인 화면이 정상적으로 뜨면 ctrl+c 를 눌러 우선 종료 한다. 

$ sudo docker-compose up --force-recreate --build
Pulling worker (redash/redash:10.0.0.b50363)...
10.0.0.b50363: Pulling from redash/redash
zzzzzzzzzzzz: Pull complete
zzzzzzzzzzzz: Pull complete
zzzzzzzzzzzz: Pull complete
zzzzzzzzzzzz: Pull complete
zzzzzzzzzzzz: Pull complete
zzzzzzzzzzzz: Pull complete
zzzzzzzzzzzz: Extracting [=================================================> ]  119.8MB/120.5MB
zzzzzzzzzzzz: Download complete
aaaaaaaaaaaa: Download complete
zzzzzzzzzzzz: Download complete
zzzzzzzzzzzz: Download complete
zzzzzzzzzzzz: Download complete
zzzzzzzzzzzz: Download complete
aaaaaaaaaaaa: Download complete
zzzzzzzzzzzz: Download complete
zzzzzzzzzzzz: Download complete
zzzzzzzzzzzz: Download complete
zzzzzzzzzzzz: Download complete
Digest: sha256:fsddasdaasdas
Status: Downloaded newer image for redash/redash:10.0.0.b50363
Recreating redash_redis_1    ... done
Recreating redash_postgres_1 ... done
Creating redash_worker_1             ... done
Recreating redash_scheduled_worker_1 ... done
Recreating redash_server_1           ...
Recreating redash_adhoc_worker_1     ... done
Recreating redash_adhoc_worker_1     ...

 

마이그레이션

$ sudo docker-compose run --rm server manage db upgrade
Starting redash_redis_1    ... done
Starting redash_postgres_1 ... done
[2022-02-26 03:03:21,963][PID:1][INFO][alembic.runtime.migration] Context impl PostgresqlImpl.
[2022-02-26 03:03:21,963][PID:1][INFO][alembic.runtime.migration] Will assume transactional DDL.
[2022-02-26 03:03:21,984][PID:1][INFO][alembic.runtime.migration] Running upgrade e5c7a4e2df4d -> d7d747033183, encrypt alert destinations
[2022-02-26 03:03:21,998][PID:1][INFO][alembic.runtime.migration] Running upgrade e5c7a4e2df4d -> 0ec979123ba4, empty message
[2022-02-26 03:03:22,028][PID:1][INFO][alembic.runtime.migration] Running upgrade 0ec979123ba4, d7d747033183 -> 89bc7873a3e0, fix_multiple_heads

컨테이너 시작

$ sudo docker-compose up -d

접속 하여 버전 확인 

<참고>

1. 'OSError: [Errno 12] Cannot allocate memory' , '[CRITICAL] WORKER TIMEOUT'

빌드 도중에 위 오류 발생하여 스펙이 더 좋은 인스턴스 유형 변경 (t3.small > t3.medium) = (memory 2 > 4)

https://co-de.tistory.com/74

 

[AWS] 서버 인스턴스 유형(스펙)을 변경해보자!

서버 운영중에 서버 자원을 늘려야 하는 경우가 생긴다. 만약 직접 서버를 운영한다면 디스크나 메모리 카드를 사다가 교체해야 할 것이다. 그러나 EC2 로 운영한다면 기존 데이터를 유지하고 서

co-de.tistory.com

- redash community :  https://discuss.redash.io/t/v10-beta-is-ready/8633/40

728x90
Comments