Redash 可视化BI系统部署安装及简单使用

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

概览

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

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

Redash旨在让任何人,无论技术成熟程度如何,都能利用大大小小的数据。SQL用户利用Redash来探索、查询、可视化和共享来自任何数据源的数据。他们的工作反过来使组织中的任何人都能使用这些数据。每天,全世界数千个组织的数百万用户都在使用Redash来开发见解并做出数据驱动的决策。
from https://github.com/getredash/redash

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

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

For basic deployments we recommend a minimum of 4GB of RAM and reasonable amount of CPU allocation. As usage grows you might need additional RAM and CPU power to support increased number of background workers and API processes.
To create an instance, you have the following options:

  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: "no-reply@yoursite.com"
      REDASH_MAIL_PASSWORD: "111111"
      REDASH_MAIL_DEFAULT_SENDER: "no-reply@yoursite.com"
      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: "no-reply@yoursite.com"
      REDASH_MAIL_PASSWORD: "111111"
      REDASH_MAIL_DEFAULT_SENDER: "no-reply@yoursite.com"
      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/
redash官网使用

或者参考我在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

posted on 2023-05-28 23:18  kanlon  阅读(496)  评论(0编辑  收藏  举报

导航