버전은 V8(8.0.0+b32245)을 설치하게 되는데, 업그레이드 가이드를 제공하고 있습니다.
지금부터 v10.1.0(10.1.0.b50633)으로 업그레이드 해보도록 할게요!
redash ec2 구성하기
우선 서버에 접속을 해보겠습니다.
$ ssh -i mykey.pem ubuntu@[public ip]
설정 파일이 있는 디렉토리로 이동합니다.
// redash 관련 경로 이동
$ cd /opt/redash/
// 도커 설정 백업
$ sudo cp docker-compose.yml docker-compose_backup.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 모두 제거
1) 이전 버젼은 아래와 같이 구성되어 있습니다. 아래 내용을 수정할 것입니다.
환경마다 다를 수 있으니 참고만 해주세요..! 🫠
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
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
3) services.worker를 추가해준다.
services:
...
adhoc_worker:
<<: *redash-service
command: worker
worker:
<<: *redash-service
command: worker
environment:
QUEUES: "periodic emails default"
WORKERS_COUNT: 1
4) 저장 후 도커 컨테이너를 중단해준다.
$ 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
...
마이그레이션 작업이 필요합니다. 아래와 같이 작성해주세요!
$ 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
컨테이너 시작 후 재 접속 하여 버전 확인하면 업그레이드 작업이 끝이 납니다.
```java
$ sudo docker-compose up -d
```
참 쉽죠? ✌️
redash 10버젼 업데이트 중 아래와 같은 에러 발생한다면?
E: Could **not** get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), **is** another process using it?
당황 하지말고, 이렇게 해결하시면 됩니다.
sudo dpkg --configure -a
sudo apt update
마지막인 3부에서는 AWS Route 53
과 로드밸런서
을 통해 도메인 주소를 설정하는 것까지 진행해보겠습니다!