前言

当业务成长到一定规模之后,会有许多想看各种不同类型报表的需求,如果单独做在后台,那么无疑会浪费前端和后端开发的时间。所以一直都有在寻找一款好用的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. Zabbix介绍及安装

    Zabbix简介 Zabbix是一款能够监控各种网络参数以及服务器健康性和完整性的软件,是一个企业级的分布式开源监控方案.Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警.这样 ...

  2. tecplot——Fluent重叠网格解决方案

    算例来源:http://blog.sina.com.cn/s/blog_af99efb50102xoh3.html 受上篇博文的启发,在tecplot当中也能采用类似的方法处理Fluent的重叠网格计 ...

  3. 原创|强大!Nginx 配置在线一键生成“神器”

    Nginx作为一个轻量级的HTTP服务器,相比Apache优势也是比较明显的,在性能上它占用资源少,能支持更高更多的并发连接,从而达到提高访问效率;在功能上它是一款非常优秀的代理服务器与负载均衡服务器 ...

  4. webpack系列--浅析webpack的原理

    一.前言 现在随着前端开发的复杂度和规模越来越大,鹰不能抛开工程化来独立开发,比如:react的jsx代码必须编译后才能在浏览器中使用,比如sass和less代码浏览器是不支持的.如果摒弃这些开发框架 ...

  5. 使用windows 上的远程连接来远程Linux Ubuntu系统的设置

    实验环境: Windows 10 , VMware Workstation ,Ubuntu16.04 1.root登录ubuntu,然后执行下面的命令 # root账户登录ubuntu ,执行下面的命 ...

  6. no main manifest attribute, in testProject-1.0-SNAPSHOT.jar

    no main manifest attribute, in testProject-1.0-SNAPSHOT.jar 错误描述: no main manifest attribute, in tes ...

  7. 使用velero进行kubernetes灾备

    使用velero可以对集群进行备份和恢复,降低集群DR造成的影响.velero的基本原理就是将集群的数据备份到对象存储中,在恢复的时候将数据从对象存储中拉取下来.可以从官方文档查看可接收的对象存储,本 ...

  8. Centos 7.6搭建Skywalking6.5+es6.2.4

    软件包版本1.elasticsearch-6.2.4.tar.gz,下载地址:https://artifacts.elastic.co/downloads/elasticsearch/elastics ...

  9. spring-session-jdbc 使用

    这个文档比较有用了,参考: https://www.cnblogs.com/davidwang456/p/10361550.html>https://www.cnblogs.com/davidw ...

  10. spring-session(二)与spring-boot整合实战

    前两篇介绍了spring-session的原理,这篇在理论的基础上再实战. spring-boot整合spring-session的自动配置可谓是开箱即用,极其简洁和方便.这篇文章即介绍spring- ...