这篇文章主要为介绍一下Redash的使用和安装
概览
Redash 主要使用的语言为 Python 和 TypeScript
这个安装主要是基于Docker 来安装的,官网教程基本没有不是基于Docker 镜像安装的,如果是单单使用它的提供的 docker 镜像来安装还需要自己安装Redis和PostgreSQL环境的,这里就使用 docker swarm 将作为docker集群去安装一次性安装所有所需环境,你自己也可以使用 Docker Compose 去安装。(一开始是想通过docker 镜像安装,发现官网没提供这个教程,自己安装只能从docker 镜像中反查出安装命令,同时还需要安装redis 和PostgreSQL环境,实在有点麻烦,后来不得不放弃😪😪 )
官网是用安装教程,主要是根据官网的安装教程来安装的
- AWS EC2 AMI
- DigitalOcean
- Google Compute Engine Image
- Other
- 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上手创建可视化数据展示:
或者参考我在b站中的视频
测试地址
自己搭建的一个 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