前言

当业务成长到一定规模之后,会有许多想看各种不同类型报表的需求,如果单独做在后台,那么无疑会浪费前端和后端开发的时间。所以一直都有在寻找一款好用的BI工具。
后面查了一下,市面上好用的一些非商业的BI工具,主要的是 SupersetRedash, Metabase 这三种。
评测请看:
数据可视化的开源方案: Superset vs Redash vs Metabase (一)
数据可视化的开源方案: Superset vs Redash vs Metabase (二)

刚开始采用的是 Superset 这个工具,后面发现从使用体验上来看的话,感觉不好用。 而且文档比较混乱, 最重要的是不支持 mongo。
后面考虑到自己项目的使用情况, 再加上大部分的编写人员都是技术人员,所以后面就选了 Redash 打算先试用一下。

安装

参照官方文档采用docker安装: 官方docker安装文档

前置环境

docker, docker compose, nodejs 都要安装,这边就不细讲了。

git clone 库

1
2
git clone https://github.com/getredash/redash.git
cd redash/

启动docker 服务(走不通)

1
docker-compose up

但是发现一直报这个错误:

好像是 pip 的版本太低了,要升级到 18.1 版本。但是我后面升上去之后呢:

1
2
[root@VM_156_200_centos redash]# pip -V
pip 18.1 from /usr/lib/python2.7/site-packages/pip (python 2.7)

他还是继续给我报这个bug???

docker-compose.production.yml文件

后面就重新参照了这个教程: redash安装及使用
编辑docker-compose.production.yml文件,将数据目录映射出来以及更改密码。就改两个地方:

  • 这个映射的注释取消掉:
  • 修改这个字段,其实就是密码:
    1
    REDASH_COOKIE_SECRET: youPassword

运行命令完成数据库初始化操作

1
docker-compose -f docker-compose.production.yml run --rm server create_db
1
2
3
4
5
6
7
[root@VM_156_200_centos redash]# docker-compose -f docker-compose.production.yml run --rm server create_db
Pulling redis (redis:3.0-alpine)...
Trying to pull repository docker.io/library/redis ...
3.0-alpine: Pulling from docker.io/library/redis
88286f41530e: Pull complete
......
[2018-11-23 08:18:56,499][PID:1][INFO][alembic.runtime.migration] Running stamp_revision -> 71477dadd6ef

利用docker-compose启动docker运行起来

1
docker-compose -f docker-compose.production.yml up
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[root@VM_156_200_centos redash]# docker-compose -f docker-compose.production.yml up
Pulling nginx (redash/nginx:latest)...
Trying to pull repository docker.io/redash/nginx ...
latest: Pulling from docker.io/redash/nginx
03e1855d4f31: Pull complete
a3ed95caeb02: Pull complete
ccca24cf536d: Pull complete
6114b204585d: Pull complete
46062b965522: Pull complete
Digest: sha256:b10bc96086fa30b8fd8a8d1c47ce6fdb5f531c91cbfa5820595a687b33082be3
Status: Downloaded newer image for docker.io/redash/nginx:latest
redash_postgres_1 is up-to-date
Creating redash_worker_1 ...
Creating redash_worker_1 ... done
Creating redash_server_1 ... done
Creating redash_nginx_1 ... error ERROR: for redash_nginx_1 Cannot start service nginx: driver failed programming external connectivity on endpoint redash_nginx_1 (21aba0dfa8812cb0de0f52563d7f347281cf353890d11577a1a20fba142190f6): Bind for 0.0.0.0:80 failed: port is already allocated ERROR: for nginx Cannot start service nginx: driver failed programming external connectivity on endpoint redash_nginx_1 (21aba0dfa8812cb0de0f52563d7f347281cf353890d11577a1a20fba142190f6): Bind for 0.0.0.0:80 failed: port is already allocated
ERROR: Encountered errors while bringing up the project.

发现报错了,原来是 nginx的镜像启动失败,80 端口被占用了, 查了一下 docker 容器,发现确实有两个之前就运行的nginx容器还在跑,那就把这个两个容器删掉:

1
2
3
4
5
6
7
8
9
10
11
[root@VM_156_200_centos redash]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
......
a9ee06d55082 nginx:v3 "nginx -g 'daemon ..." 7 months ago Up 7 months 0.0.0.0:80->80/tcp webserver3
89e76cdbfe98 nginx "nginx -g 'daemon ..." 7 months ago Up 7 months 0.0.0.0:8080->80/tcp webserver [root@VM_156_200_centos redash]# docker rm -f a9ee06d55082
a9ee06d55082
[root@VM_156_200_centos redash]# docker rm -f 89e76cdbfe98
89e76cdbfe98

这样就删掉了, 重试一下:

1
2
3
4
5
6
7
8
9
[root@VM_156_200_centos redash]# docker-compose -f docker-compose.production.yml up
redash_redis_1 is up-to-date
redash_postgres_1 is up-to-date
redash_worker_1 is up-to-date
redash_server_1 is up-to-date
Starting redash_nginx_1 ... done
Attaching to redash_redis_1, redash_postgres_1, redash_worker_1, redash_server_1, redash_nginx_1
......
worker_1 | [2018-11-23 08:20:43,810][PID:1][INFO][MainProcess] Received task: redash.tasks.refresh_queries[00156e42-0213-40b3-a9a2-8ff475584bfb]

这样就跑起来了。 接下来就访问 http://119.xx.xx.28/setup 可以看到已经有站点了, 这个就是设置页面:

这时候看了一下 docker 的容器,就会发现 redash 有5个相关的容器:

1
2
3
4
5
6
7
8
[root@VM_156_200_centos redash]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
751e870e42c7 redash/nginx:latest "nginx -g 'daemon ..." 5 minutes ago Up 2 minutes 0.0.0.0:80->80/tcp, 443/tcp redash_nginx_1
e48dd3875394 redash/redash:latest "/app/bin/docker-e..." 5 minutes ago Up 5 minutes 0.0.0.0:5000->5000/tcp redash_server_1
5de34df455e8 redash/redash:latest "/app/bin/docker-e..." 5 minutes ago Up 5 minutes 5000/tcp redash_worker_1
c4ef5ca8af6f redis:3.0-alpine "docker-entrypoint..." 7 minutes ago Up 7 minutes 6379/tcp redash_redis_1
515d93e8f4bc postgres:9.5.6-alpine "docker-entrypoint..." 7 minutes ago Up 7 minutes 5432/tcp redash_postgres_1
......

设置管理员的用户名和密码


这样就进去了

使用

web 页面添加数据源

在这边可以添加数据源:


添加一个新的, 然后选择 mysql:

然后就输入连接配置,这样就连接上了。

我这边配了两个mysql

创建一条query

点击新建query,然后写入sql,生成数据:

可以看到,有数据出来了。 接下来选择 New Visualization 来创建图表

命名完之后, 点击 save ,然后点击右上角的 publish,就可以发布出去了, 就可以在queries列表看到了

创建dashboard

点击创建一个新的dashboard:

点击 Edit,然后点击下面的 Add Widget, 添加query, 将刚才创建的query以图表的方式加进去

最后publish,就可以看到了:

总结

基本上基础的安装和使用就这样子了,至于后面更细的,得看redash对业务的使用情况。

Redash - 安装和初试的更多相关文章

  1. Redash 安装部署

    介绍 是一款开源的BI工具,提供了基于web的数据库查询和数据可视化功能. 官网:https://redash.io/ GitHub:https://github.com/getredash/reda ...

  2. HBase 2、HBase安装与初试牛刀

    官方帮助文档:http://hbase.apache.org/book.html  PDF:http://hbase.apache.org/apache_hbase_reference_guide.p ...

  3. Selenium_Java版本安装及初试

    [环境] ①JDK版本:jdk1.8.0_73 ②Eclipse:jee-mars-4.5.2 ③Selenium:selenium-java-3.5.3 ④GoogleChrome:60 ⑤chro ...

  4. 使用docker-compose方式安装redash

    转载自:https://anjia0532.github.io/2019/07/08/redash/ ## 安装必要工具 apt install -y pwgen python-pip pip ins ...

  5. Ubuntu1604环境下编译安装mariadb10.2.26

    环境准备:阿里云ecs Ubuntu1604下,编译安装mariadb10-2.26 1.先安装一些初试环境所需要的工具软件包 apt install -y iproute2 ntpdate tcpd ...

  6. Docker 环境下部署 redash

    环境: centos7 官网:https://redash.io/help/open-source/dev-guide/docker 一.安装步骤 1.虚拟机安装 安装vmware,并安装centos ...

  7. Redash中文版安装问题大全

    Redash的安装比较复杂,由于系统环境组件版本不同,可能会出现这样那样的问题,我们把安装过程中常见问题记录如下: 1.git clone 经常提示:RPC失败,远端意外挂断.过早的文件结束符.ind ...

  8. Ubuntu20.04和Docker环境下安装Redash中文版

    创建Ubunt20.04虚拟机,请参考:https://www.linuxidc.com/Linux/2020-03/162547.htm 一.安装基础环境: # 1.更换APT国内源 sudo se ...

  9. Centos7安装redash

    一.更改yum国内源: (1)cd /etc/yum.repos.d/ sudo yum install wget (2)备份:sudo mv /etc/yum.repos.d/CentOS-Base ...

随机推荐

  1. 数论问题(1) : poj 1061

    最近,本人发现了一个新网站poj(不算新) 当然了,上面的资源很好...... 就是还没搞清楚它的搜索该怎么弄,如果有大佬能教教我怎么弄,请在下方留言 闲话少说,回归我们的正题 题目转自poj 106 ...

  2. redis持久化方式与优缺点

    Redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到磁盘来保证持久化.redis支持四种持久化方式,一是 Snapshotting(快照)也是默认方式:二是Appen ...

  3. Linux 启动数据库报错:could not open parameter file init**.ora

    sqlplus /nolog.conn /as sysdba.startup命令后显示 SQL> startupORA-01078: failure in processing system p ...

  4. 如何为python 2.7安装tensorflow?

    “TensorFlow在Windows上支持Python 3.5.x和3.6.x.” 因此,您无法在Windows上使用Python 2.7的tensorflow 如果您被迫使用Python 2.7, ...

  5. ASPNETCore开源日志面板 :LogDashboard

    LogDashboard logdashboard是在github上开源的aspnetcore项目, 它旨在帮助开发人员排查项目运行中出现错误时快速查看日志排查问题 通常我们会在项目中使用nlog.l ...

  6. 使用docker安装gitlab,两台电脑gitlab库相互迁移

    原文来自合伙呀 https://hehuoya.com/2019/09/30/gitlab-docker/ Docker  for gitlab brew cask install docker do ...

  7. CentOS升级Python2.6到Python2.7并安装pip[转载]

    貌似CentOS 6.X系统默认安装的Python都是2.6版本的?平时使用以及很多的库都是要求用到2.7版本或以上,所以新系统要做的第一件事必不可少就是升级Python啦!在这里做个简单的升级操作记 ...

  8. 第二十节:Asp.Net Core WebApi生成在线文档

    一. 基本概念 1.背景 使用 Web API 时,了解其各种方法对开发人员来说可能是一项挑战. Swagger 也称为OpenAPI,解决了为 Web API 生成有用文档和帮助页的问题. 它具有诸 ...

  9. Mono 下的 ASP.NET 可以运行在哪些 Web 服务器上?

    Mono has an implementation of ASP.NET 2.0, ASP.NET MVC and ASP.NET AJAX. Quick Resources: ASP.NET FA ...

  10. Problem 1059 老师的苦恼

    Bob写文章时喜欢将英文字母的大小写混用,例如Computer Science经常被他写成coMpUtEr scIeNce,这让他的英文老师十分苦恼,现在请你帮Bob的英文老师写一个程序能够将Bob的 ...