跳到主要内容

开源版本安装教程

Redash是由flask和react构建的开源BI工具。它采用了python-rq作为MQ,而python-rq原生是不支持windows的。所以原生Redash不能直接在Windows上运行。 除Winodws外,Redash支持在其他各种类linux环境上部署。包括Ubuntu,CentOS,OpenSuse,Debian,WSL2,MacOS等。

在非开发环境,我们建议用户通过docker的方式进行部署。开发环境我们建议用户使用Ubuntu系统进行部署。下面我们会详细介绍Redash在各种环境下的部署步骤。

安装docker环境

(注:已具备docker及docker-compose环境可以忽略这一步,如果只缺docker-compose,只执行docker-compose那一步)

  1. 安装docker引擎及docker-compose插件 docker的安装大家可以看docker的官方文档,里面的步骤都非常的详细,这里只演示Centos
    #如果是CentOS8,先清除自带的docker命令(CentOS8自带的docker是podman,不是原生docker,非CentOS8可以不操作)
    sudo yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-engine
    #添加 docker 源
    sudo curl -o /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo
    #安装 docker 引擎
    sudo yum -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin
  2. 配置docker环境
    #配置log文件大小
    sudo sh -c 'mkdir /etc/docker && cat > /etc/docker/daemon.json << EOF
    {
    "log-driver":"json-file",
    "log-opts":{ "max-size" :"50m","max-file":"3"}
    }
    EOF'
    #将当前用户加入docker组
    sudo usermod -aG docker $USER
    #启动docker服务并配置自启
    sudo systemctl start docker && sudo systemctl enable docker

安装Redash

  1. 选定Redash安装目录这里假定是/opt/redash
    sudo mkdir /opt/redash
    sudo chown -R ${USER} /opt/redash
    cd /opt/redash
  2. 创建env文件,写环境变量,根据自己环境调整环境变量的值
    #/opt/redash/env/内容
    PYTHONUNBUFFERED=0
    REDASH_LOG_LEVEL=INFO
    REDASH_REDIS_URL=redis://redis:6379/0
    POSTGRES_PASSWORD=aaa123456
    REDASH_COOKIE_SECRET=wo3urion23i4un2l34jm2l34k
    REDASH_SECRET_KEY=u2o34nlfksjelruirk
    REDASH_DATABASE_URL="postgresql://postgres:aaa123456@postgres/postgres"
    ORACLE_HOME="/usr/lib/oracle/12.2/client64"
    LD_LIBRARY_PATH="/usr/lib/oracle/12.2/client64/lib"
    REDASH_FEATURE_ALLOW_CUSTOM_JS_VISUALIZATIONS="true"
    REDASH_ADDITIONAL_QUERY_RUNNERS="redash.query_runner.oracle,redash.query_runner.python"
  3. 在安装目录创建docker-compose.yml(可以自己新建,也可以重其他地方拷贝),下面是内容,注意image的值需要修改为使用的redash镜像id。
    version: "2"
    x-redash-service: &redash-service
    #现在image的值为中文开源版的tag如果要使用官方的镜像,在docker hub上查看官方tag,然后替换。
    image: dazdata/redash:v10-21.11.19
    depends_on:
    - postgres
    - redis
    env_file: /opt/redash/env
    restart: always
    services:
    server:
    <<: *redash-service
    command: server
    environment:
    REDASH_WEB_WORKERS: 4
    scheduler:
    <<: *redash-service
    command: scheduler
    worker:
    <<: *redash-service
    command: worker
    environment:
    WORKERS_COUNT: 4
    redis:
    image: redis:5.0-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: dazdata/redash-nginx:latest
    ports:
    - "5000:80"
    depends_on:
    - server
    links:
    - server:redash
    restart: always
  4. 在安装目录,拉起Redash。
    sudo docker compose up -d
  5. 初始化数据库,然后通过浏览器访问服务器5000端口即可
    sudo docker compose run --rm server create_db

常见问题

  1. 服务都已启动,但是外部不能访问 检查selinux是否关门
  2. CentOS8 yum 无法使用 备份原始源,切换到国内阿里源