这篇文章主要为介绍一下Redash的使用和安装

概览

Redash 主要使用的语言为 Python 和 TypeScript

这个安装主要是基于Docker 来安装的,官网教程基本没有不是基于Docker 镜像安装的,如果是单单使用它的提供的 docker 镜像来安装还需要自己安装Redis和PostgreSQL环境的,这里就使用 docker swarm 将作为docker集群去安装一次性安装所有所需环境,你自己也可以使用 Docker Compose 去安装。(一开始是想通过docker 镜像安装,发现官网没提供这个教程,自己安装只能从docker 镜像中反查出安装命令,同时还需要安装redis 和PostgreSQL环境,实在有点麻烦,后来不得不放弃😪😪 )

官网是用安装教程,主要是根据官网的安装教程来安装的

  1. AWS EC2 AMI
  2. DigitalOcean
  3. Google Compute Engine Image
  4. Other
  5. Docker

前三种都是的国外的服务器云服务来的,一般在国内都用不上,而且前三种都是基于 云服务上提供的镜像构建,与它们强关联,我们就不用看了。第四种other是自己基于Ubuntu 18.04 server服务器 ,安装 Docker和 Docker Compose ,基于 提供的docker-compose 文件去启动。第五中docker 是 建立在自己有了docker 环境的基础上,去使用它们的镜像构建或者自己根据它们的docker-compose 文件 看看需要哪些服务,然后自己启动(其实还是只能使用它们的docker镜像,其中需要的Redis and PostgreSQL环境需要自己安装它的镜像里并不提供,它没有提供原始docker 镜像的构建命令😪,除非自己根据docker镜像反编译出dockerfile 文件,可以是可以,但是有些麻烦)。

使用该命令可以根据docker镜像,生成dockerfile,其中 redash/redash:8.0.2.b37747 是redash 的docker镜像之一

sudo docker run -v /var/run/docker.sock:/var/run/docker.sock --rm alpine/dfimage  -sV=1.36  redash/redash:8.0.2.b37747

安装部署

方案1 使用docker + docker compose (推荐)

参考这个项目部署: https://github.com/KANLON/setup

仅支持Ubuntu 系统,基本相当于一键部署

echo "下载执行脚本和docker-compose配置文件"
git clone https://github.com/KANLON/setup.git 
cd setup
sudo chmod +x ./setup.sh
echo "开始执行,如果要异步执行,可以使用 nohup ./setup.sh & 这样来执行"
./setup.sh

方案2 使用docker + docker swarm

首先需要安装 docker swarm 集群,然后运行这个的 docker-compose 文件来安装redash容器镜像。

version: '3.6'
services:
  server:
    image: redash/redash:8.0.2.b37747
    command: server
    depends_on:
      - redash_postgres
      - redash_redis
    ports:
      - "5001:5000"
    deploy:
      mode: replicated
      replicas: 1
      endpoint_mode: vip
      update_config:
        parallelism: 1
        delay: 3s
        order: start-first
    environment:
      PYTHONUNBUFFERED: 0
      REDASH_LOG_LEVEL: "INFO"
      REDASH_REDIS_URL: "redis://redash_redis:6379/0"
      REDASH_DATABASE_URL: "postgresql://postgres:123456@redash_postgres/postgres"
      REDASH_COOKIE_SECRET: "123456"
      REDASH_WEB_WORKERS: 4
      #邮箱 
      REDASH_MAIL_SERVER: "smtp.exmail.qq.com"
      REDASH_MAIL_PORT: 465
      REDASH_MAIL_USE_TLS: "false"
      REDASH_MAIL_USE_SSL: "true"
      REDASH_MAIL_USERNAME: "[email protected]"
      REDASH_MAIL_PASSWORD: "111111"
      REDASH_MAIL_DEFAULT_SENDER: "[email protected]"
      REDASH_HOST: "http://redash.mysite.com"
  worker:
    image: redash/redash:8.0.2.b37747
    command: scheduler
    deploy:
      mode: replicated
      replicas: 1
      endpoint_mode: vip
      update_config:
        parallelism: 1
        delay: 3s
        order: start-first
    environment:
      PYTHONUNBUFFERED: 0
      REDASH_LOG_LEVEL: "INFO"
      REDASH_REDIS_URL: "redis://redash_redis:6379/0"
      REDASH_DATABASE_URL: "postgresql://postgres:123456@redash_postgres/postgres"
      QUEUES: "queries,scheduled_queries,celery"
      REDASH_COOKIE_SECRET: "123456"
      WORKERS_COUNT: 2
      #邮箱 
      REDASH_MAIL_SERVER: "smtp.exmail.qq.com"
      REDASH_MAIL_PORT: 465
      REDASH_MAIL_USE_TLS: "false"
      REDASH_MAIL_USE_SSL: "true"
      REDASH_MAIL_USERNAME: "[email protected]"
      REDASH_MAIL_PASSWORD: "111111"
      REDASH_MAIL_DEFAULT_SENDER: "[email protected]"
      REDASH_HOST: "http://redash.mysite.com"
  redis:
    image: redis:5.0-alpine
    deploy:
      mode: replicated
      replicas: 1
      endpoint_mode: vip
      update_config:
        parallelism: 1
        delay: 3s
        order: start-first
  postgres:
    image: postgres:9.6-alpine
    volumes:
      - postgres-data:/data/postgresql/data
    environment:
      POSTGRES_PASSWORD: 123456
    deploy:
      mode: replicated
      replicas: 1
      endpoint_mode: vip
      update_config:
        parallelism: 1
        delay: 3s
        order: start-first
volumes:
  postgres-data:
    name: postgres-data
networks:
  default:
    external:
      name: default_overlay

redash 容器镜像docker-compose下载地址为: https://raw.githubusercontent.com/KANLON/setup/master/data/docker-compose-docker-swarm.yml

启动命令sudo docker stack deploy -c redash8.0.yml --with-registry-auth redash-service

执行完docker 容器之后的,进入 redash server 容器中,到 /app 目录下,执行 ./manage.py database create_tables 创建表。

redash 简单使用

其实官网本身就有一个动图介绍,参考该动图展示,基本可以快速使用redash上手创建可视化数据展示:

https://redash.io/

或者参考我在b站中的视频

https://www.bilibili.com/video/BV1vq4y1L7tE/?spm_id_from=333.999.0.0&vd_source=9d0c39c2f33c7d68ba4b01e4303dc8c1

测试地址

自己搭建的一个 redash 系统地址: http://redash.kanlon.top

账号和密码获取,关注 CrudBoys 公众号 回复 “redash系统” 获取

参考

1. Redash 使用流程
2. 数据可视化的开源方案: Superset vs Redash vs Metabase (二)
3. 通过 Docker 安装 Redash
4. redash 官网
5. 官网安装教程
6. dockerfile 文件
7. 根据镜像生成dockerfile

05-28 23:23