반응형

대용량 파일 다운 실패

Redash 쿼리를 통해 약 11만 row의 데이터 결과값을 얻었습니다.

column은 약 10개가 있었고,  중간중간 text값으로 인하여 용량이 컷으며, 이로 인해 다운로드가 실패하는 현상이 발생하였습니다. limit 1000 추가 후 다운하는데는 문제가 없어, 용량 문제라고 판단하였습니다.

 

원인

원인은 redash서버에서 local로 데이터를 전송할 때 데이터의 크기가 커, 설정된 시간을 초과하였기 때문입니다. 

redash는 nginx 뒷 단에 GUNICORN를 사용하게되는데 GUNICORN의 기본 timeout은 30초입니다. 따라서 데이터 전송에 30초를 초과하게 되면 다운로드가 실패하게 됩니다.

 

해결

해결은 redash docker-compose.yml 에서 server 아래 environment부분에 GUNICORN_CMD_ARGS: "--timeout 300"를 추가하면 됩니다. 시간의 경우 사용자에 맞게 설정하면 됩니다.

설정 후 docker-compose restart를 통해 도커를 재시작 하고 다운로드를 받게되면 아래와 같이 성공하는 것을 볼 수 있습니다.

반응형

'데이터엔지니어 > redash' 카테고리의 다른 글

#2 redash v8 -> v10 upgrade  (0) 2022.07.10
#1 가상머신(virtualbox)를 통한 redash 설치  (0) 2022.06.29
반응형

개요

redash 공식 문서를 따라 설치하게 되면 version8로 설치 됩니다. 현재 redash v10에서는 trino연동을 지원하기 때문에 v10으로 업그레이드 하려고 합니다.

 

업그레이드

cd opt/redash

vi docker-compose.yml 을 통해 docker-compose.yml 파일을 수정해 줍니다.

수정 전 스크립트

version: "2"
x-redash-service: &redash-service
  image: redash/redash:8.0.0.b32245
  depends_on:
    - postgres
    - redis
  env_file: /opt/redash/env
  restart: always
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
  redis:
    image: redis:5.0-alpine
    restart: always
  postgres:
    image: postgres:9.6-alpine
    env_file: /opt/redash/env
    volumes:
      - /opt/redash/postgres-data:/var/lib/postgresql/data
    restart: always
  nginx:
    image: redash/nginx:latest
    ports:
      - "80:80"
    depends_on:
      - server
    links:
      - server:redash
    restart: always

수정 후 스크립트

version: '2'
x-redash-service: &redash-service
  image: redash/redash:10.1.0.b50633
  depends_on:
    - postgres
    - redis
  env_file: /opt/redash/env
  restart: always
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
  redis:
    image: redis:6-alpine
    restart: always
  postgres:
    image: postgres:12-alpine
    env_file: /opt/redash/env
    volumes:
      - /opt/redash/postgres-data:/var/lib/postgresql/data
    restart: always
  nginx:
    image: redash/nginx:latest
    ports:
      - "80:80"
    depends_on:
      - server
    links:
      - server:redash
    restart: always
  worker:
    <<: *redash-service
    command: worker
    environment:
      QUEUES: "periodic emails default"
      WORKERS_COUNT: 1

스크립트 수정후 아래 명령어 입력

docker-compose up --force-recreate --build
docker-compose run --rm server manage db upgrade
docker-compose up -d

확인

V10업데이트를 확인할 수 있습니다.

반응형
반응형

가상머신을 통해 redash를 설치해보겠습니다. 

 

설치 전 준비

우선 가상머신 virtualbox를 아래에서 다운로드 및 설치합니다.

https://www.virtualbox.org/

 

Oracle VM VirtualBox

Welcome to VirtualBox.org! News Flash New April 19th, 2022VirtualBox 6.1.34 released! Oracle today released a 6.1 maintenance release which improves stability and fixes regressions. See the Changelog for details. Important February 24th, 2022We're hiring!

www.virtualbox.org

 

다음은 우분투 이미지를 다운받아야 하는데 redash에서 권장하는 Ubuntu 18.04를 다운로드 하겠습니다.

https://releases.ubuntu.com/18.04/

 

Ubuntu 18.04.6 LTS (Bionic Beaver)

Select an image Ubuntu is distributed on three types of images described below. Desktop image The desktop image allows you to try Ubuntu without changing your computer at all, and at your option to install it permanently later. This type of image is what m

releases.ubuntu.com

 

이미지 다운로드 후 가상머신에 리눅스를 설치해 줍니다.

redash 권장 권장하는 인스턴스 사양은 아래와 같습니다.

CPU(Core): 1개 이상

Memory: 4GB 이상

 

저는 Memory 6GB, 디스크 50GB로 만들었습니다.

 

설치

이제 설치가 완료 된후 가상머신에 접속하여 터미널을 열어줍니다.

# apt 패키지 업데이트
$ sudo apt update

# git 설치
$ sudo apt install git -y

# redash setup clone
$ git clone https://github.com/getredash/setup.git

# 프로젝트 디렉터리로 이동
$ cd setup/

# setup 스크립트 권한 수정
$ sudo chmod +x setup.sh

# 스크립트 실행
$ ./setup.sh

설치 후

sudo docker -ps 를 통해 도커 컨테이너가 띄워져 있는걸 확인할 수 있습니다.

 

브라우저에서 localhost:5000 을 입력하면 redash 웹 화면으로 접속할 수 있습니다.

 

접속 후 admin계정을 생성하면 메인 화면으로 이동할 수 있습니다.

다음은 redash 버전 업데이트 및 리대쉬 기능, 메일설정을 알아보겠습니다.

반응형

'데이터엔지니어 > redash' 카테고리의 다른 글

redash 대용량 파일 다운 실패 해결방법  (0) 2022.11.25
#2 redash v8 -> v10 upgrade  (0) 2022.07.10

+ Recent posts