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镜像之一

<span style="color:#000000"><span style="background-color:#ffffff"><code class="language-shell">sudo docker run -v /var/run/docker.sock:/var/run/docker.sock --rm alpine/dfimage  -sV=1.36  redash/redash:8.0.2.b37747
</code></span></span>

安装部署

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

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

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

<span style="color:#000000"><span style="background-color:#ffffff"><code class="language-shell">echo "下载执行脚本和docker-compose配置文件"
git clone https://github.com/KANLON/setup.git 
cd setup
sudo chmod +x ./setup.sh
echo "开始执行,如果要异步执行,可以使用 nohup ./setup.sh & 这样来执行"
./setup.sh
</code></span></span>

方案2 使用docker + docker swarm

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

<span style="color:#000000"><span style="background-color:#ffffff"><code class="language-yaml language-yml"><span style="color:#ff0000">version:</span> <span style="color:#a31515">'3.6'</span>
<span style="color:#ff0000">services:</span>
  <span style="color:#ff0000">server:</span>
    <span style="color:#ff0000">image:</span> <span style="color:#a31515">redash/redash:8.0.2.b37747</span>
    <span style="color:#ff0000">command:</span> <span style="color:#a31515">server</span>
    <span style="color:#ff0000">depends_on:</span>
      <span style="color:#00b0e8">-</span> <span style="color:#a31515">redash_postgres</span>
      <span style="color:#00b0e8">-</span> <span style="color:#a31515">redash_redis</span>
    <span style="color:#ff0000">ports:</span>
      <span style="color:#00b0e8">-</span> <span style="color:#a31515">"5001:5000"</span>
    <span style="color:#ff0000">deploy:</span>
      <span style="color:#ff0000">mode:</span> <span style="color:#a31515">replicated</span>
      <span style="color:#ff0000">replicas:</span> <span style="color:#880000">1</span>
      <span style="color:#ff0000">endpoint_mode:</span> <span style="color:#a31515">vip</span>
      <span style="color:#ff0000">update_config:</span>
        <span style="color:#ff0000">parallelism:</span> <span style="color:#880000">1</span>
        <span style="color:#ff0000">delay:</span> <span style="color:#a31515">3s</span>
        <span style="color:#ff0000">order:</span> <span style="color:#a31515">start-first</span>
    <span style="color:#ff0000">environment:</span>
      <span style="color:#ff0000">PYTHONUNBUFFERED:</span> <span style="color:#880000">0</span>
      <span style="color:#ff0000">REDASH_LOG_LEVEL:</span> <span style="color:#a31515">"INFO"</span>
      <span style="color:#ff0000">REDASH_REDIS_URL:</span> <span style="color:#a31515">"redis://redash_redis:6379/0"</span>
      <span style="color:#ff0000">REDASH_DATABASE_URL:</span> <span style="color:#a31515">"postgresql://postgres:123456@redash_postgres/postgres"</span>
      <span style="color:#ff0000">REDASH_COOKIE_SECRET:</span> <span style="color:#a31515">"123456"</span>
      <span style="color:#ff0000">REDASH_WEB_WORKERS:</span> <span style="color:#880000">4</span>
      <span style="color:#008000">#邮箱 </span>
      <span style="color:#ff0000">REDASH_MAIL_SERVER:</span> <span style="color:#a31515">"smtp.exmail.qq.com"</span>
      <span style="color:#ff0000">REDASH_MAIL_PORT:</span> <span style="color:#880000">465</span>
      <span style="color:#ff0000">REDASH_MAIL_USE_TLS:</span> <span style="color:#a31515">"false"</span>
      <span style="color:#ff0000">REDASH_MAIL_USE_SSL:</span> <span style="color:#a31515">"true"</span>
      <span style="color:#ff0000">REDASH_MAIL_USERNAME:</span> <span style="color:#a31515">"no-reply@yoursite.com"</span>
      <span style="color:#ff0000">REDASH_MAIL_PASSWORD:</span> <span style="color:#a31515">"111111"</span>
      <span style="color:#ff0000">REDASH_MAIL_DEFAULT_SENDER:</span> <span style="color:#a31515">"no-reply@yoursite.com"</span>
      <span style="color:#ff0000">REDASH_HOST:</span> <span style="color:#a31515">"http://redash.mysite.com"</span>
  <span style="color:#ff0000">worker:</span>
    <span style="color:#ff0000">image:</span> <span style="color:#a31515">redash/redash:8.0.2.b37747</span>
    <span style="color:#ff0000">command:</span> <span style="color:#a31515">scheduler</span>
    <span style="color:#ff0000">deploy:</span>
      <span style="color:#ff0000">mode:</span> <span style="color:#a31515">replicated</span>
      <span style="color:#ff0000">replicas:</span> <span style="color:#880000">1</span>
      <span style="color:#ff0000">endpoint_mode:</span> <span style="color:#a31515">vip</span>
      <span style="color:#ff0000">update_config:</span>
        <span style="color:#ff0000">parallelism:</span> <span style="color:#880000">1</span>
        <span style="color:#ff0000">delay:</span> <span style="color:#a31515">3s</span>
        <span style="color:#ff0000">order:</span> <span style="color:#a31515">start-first</span>
    <span style="color:#ff0000">environment:</span>
      <span style="color:#ff0000">PYTHONUNBUFFERED:</span> <span style="color:#880000">0</span>
      <span style="color:#ff0000">REDASH_LOG_LEVEL:</span> <span style="color:#a31515">"INFO"</span>
      <span style="color:#ff0000">REDASH_REDIS_URL:</span> <span style="color:#a31515">"redis://redash_redis:6379/0"</span>
      <span style="color:#ff0000">REDASH_DATABASE_URL:</span> <span style="color:#a31515">"postgresql://postgres:123456@redash_postgres/postgres"</span>
      <span style="color:#ff0000">QUEUES:</span> <span style="color:#a31515">"queries,scheduled_queries,celery"</span>
      <span style="color:#ff0000">REDASH_COOKIE_SECRET:</span> <span style="color:#a31515">"123456"</span>
      <span style="color:#ff0000">WORKERS_COUNT:</span> <span style="color:#880000">2</span>
      <span style="color:#008000">#邮箱 </span>
      <span style="color:#ff0000">REDASH_MAIL_SERVER:</span> <span style="color:#a31515">"smtp.exmail.qq.com"</span>
      <span style="color:#ff0000">REDASH_MAIL_PORT:</span> <span style="color:#880000">465</span>
      <span style="color:#ff0000">REDASH_MAIL_USE_TLS:</span> <span style="color:#a31515">"false"</span>
      <span style="color:#ff0000">REDASH_MAIL_USE_SSL:</span> <span style="color:#a31515">"true"</span>
      <span style="color:#ff0000">REDASH_MAIL_USERNAME:</span> <span style="color:#a31515">"no-reply@yoursite.com"</span>
      <span style="color:#ff0000">REDASH_MAIL_PASSWORD:</span> <span style="color:#a31515">"111111"</span>
      <span style="color:#ff0000">REDASH_MAIL_DEFAULT_SENDER:</span> <span style="color:#a31515">"no-reply@yoursite.com"</span>
      <span style="color:#ff0000">REDASH_HOST:</span> <span style="color:#a31515">"http://redash.mysite.com"</span>
  <span style="color:#ff0000">redis:</span>
    <span style="color:#ff0000">image:</span> <span style="color:#a31515">redis:5.0-alpine</span>
    <span style="color:#ff0000">deploy:</span>
      <span style="color:#ff0000">mode:</span> <span style="color:#a31515">replicated</span>
      <span style="color:#ff0000">replicas:</span> <span style="color:#880000">1</span>
      <span style="color:#ff0000">endpoint_mode:</span> <span style="color:#a31515">vip</span>
      <span style="color:#ff0000">update_config:</span>
        <span style="color:#ff0000">parallelism:</span> <span style="color:#880000">1</span>
        <span style="color:#ff0000">delay:</span> <span style="color:#a31515">3s</span>
        <span style="color:#ff0000">order:</span> <span style="color:#a31515">start-first</span>
  <span style="color:#ff0000">postgres:</span>
    <span style="color:#ff0000">image:</span> <span style="color:#a31515">postgres:9.6-alpine</span>
    <span style="color:#ff0000">volumes:</span>
      <span style="color:#00b0e8">-</span> <span style="color:#a31515">postgres-data:/data/postgresql/data</span>
    <span style="color:#ff0000">environment:</span>
      <span style="color:#ff0000">POSTGRES_PASSWORD:</span> <span style="color:#880000">123456</span>
    <span style="color:#ff0000">deploy:</span>
      <span style="color:#ff0000">mode:</span> <span style="color:#a31515">replicated</span>
      <span style="color:#ff0000">replicas:</span> <span style="color:#880000">1</span>
      <span style="color:#ff0000">endpoint_mode:</span> <span style="color:#a31515">vip</span>
      <span style="color:#ff0000">update_config:</span>
        <span style="color:#ff0000">parallelism:</span> <span style="color:#880000">1</span>
        <span style="color:#ff0000">delay:</span> <span style="color:#a31515">3s</span>
        <span style="color:#ff0000">order:</span> <span style="color:#a31515">start-first</span>
<span style="color:#ff0000">volumes:</span>
  <span style="color:#ff0000">postgres-data:</span>
    <span style="color:#ff0000">name:</span> <span style="color:#a31515">postgres-data</span>
<span style="color:#ff0000">networks:</span>
  <span style="color:#ff0000">default:</span>
    <span style="color:#ff0000">external:</span>
      <span style="color:#ff0000">name:</span> <span style="color:#a31515">default_overlay</span>
</code></span></span>

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上手创建可视化数据展示:

Redash helps you make sense of your data
redash官网使用

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

开源可视化系统redash的一些基本操作入门(无声版)_哔哩哔哩_bilibili

测试地址

自己搭建的一个 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

 

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值