前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redash 二开 - 后端环境搭建

Redash 二开 - 后端环境搭建

作者头像
晓晨
发布2020-10-10 17:12:43
2.5K0
发布2020-10-10 17:12:43
举报
文章被收录于专栏:晓晨的专栏晓晨的专栏

Redash 二开 - 后端环境搭建

一.操作系统选择

官方文档有一句话:Windows users: while it should be possible to run Redash on a Windows machine, we don’t know anyone who did this and lived to tell. We recommend using some sort of a virtual machine or Docker in such case. 当时没有注意,后面掉在坑里了,若对 Redash 进行二开,务必不要使用 Windows:第一点 Redash 依赖的 Python 包在Windows安装,本地编译的时候各种报错,不过还算都能解决。最要命的是第二点,某些包依赖的标准库模块,Windows 上没有,比如 group pwd 等。经过一下午和包安装的战斗,总算解决了,最后信心满满的想跑起来的时候,各种模块找不到。

在这里推荐的操作系统是 OSX,因为各种生产力工具都支持 OSX,如果没有这个条件推荐 Linux,Ubuntu 或者国产 Deepin,因为公司的 mac 都分配完了,所以我选择了安装一个 Deepin ,就在本机安装,和 Windows 10 组个双系统。如果说装 Deepin 尽量使用固态。安装教程传送门 ,安装好以后会自动设置双系统引导。

二.必要环境安装

1.Git

代码语言:javascript
复制
apt-get install git

安装文档

2.Python 3.7

在 Redash 9.0.x 版本支持的 Python 最高版本为 3.7.9,因为 3.8 对一些模块有了改变,无法使用。

请根据 官方文档 进行安装

3.可视化 Git 管理工具

OSX 推荐 SourceTree , Linux 推荐 SmartGit

4.Navicat Premium 15

Navicat Premium 支持多种数据源,是非常方便的可视化 DBMS

5.Pycharm

特别说明:Deepin 可以在 应用商店安装 微信,但是钉钉无法安装,可以使用网页版 https://im.dingtalk.com/

对于 Deepin 可能遇到的一些问题:

三.安装 Redash 依赖

通过 pip 安装依赖前请务必执行以下命令安装软件包,否则安装过程可能出现几个包报错,

代码语言:javascript
复制
#pyodbc https://github.com/mkleehammer/pyodbc/issues/276
sudo apt-get install build-essential libssl-dev libffi-dev python3-dev
sudo apt-get install unixodbc-dev

#pycrypto https://stackoverflow.com/questions/50080459/failed-installing-pycrypto-with-pip
sudo apt-get install build-essential libssl-dev libffi-dev python3-dev

#psycopg https://stackoverflow.com/questions/55581941/getting-error-when-installing-psycopg2-2-8-1
sudo apt-get install libpq-dev 

#mysqlclient https://pypi.org/project/mysqlclient/1.3.14/
sudo apt-get install python-dev default-libmysqlclient-dev

使用 Pycharm 打开 Redash 文件夹,选择菜单:File->Settings->Project Interpreter 创建虚拟环境

image-20200930160346529
image-20200930160346529

创建好虚拟环境后,在 Pycharm 的 Terminal 执行

代码语言:javascript
复制
pip -r requirements.txt -r requirements_dev.txt -r requirements_all_ds.txt

必须全部安装成功,若一个没有安装成功就去Google查找解决方案。

四.调试和运行配置

1.编辑数据库连接信息

打开 项目根目录/redash/settings/__init__.py

修改 redis 地址:

代码语言:javascript
复制
"REDASH_REDIS_URL", os.environ.get("REDIS_URL", "redis://<redis ip>:6379/<redis db>")

修改 postgresql 地址:

代码语言:javascript
复制
"REDASH_DATABASE_URL", os.environ.get("DATABASE_URL", "postgresql://<用户名>:<密码>@<ip>:5432/<数据库名称>")

2.执行数据库迁移

在 Terminal 输入:

代码语言:javascript
复制
./manage.py database create_tables

3.启动RQ

在 Terminal 新开两个选项卡,分别执行以下命令来启动

代码语言:javascript
复制
# RQ Worker
./manage.py rq worker
#RQ Scheduler
./manage.py rq scheduler

Worker:

image-20200930161247945
image-20200930161247945

Scheduler:

image-20200930161314469
image-20200930161314469

4.设置调试配置

直接运行Server的命令是:

代码语言:javascript
复制
./manage.py runserver --debugger --reload

这样无法调试,调试需要添加配置:

image-20200930161450642
image-20200930161450642

这样启动访问 https://localhost:5000 发现UI很简陋,需要我们自己启动前端项目。

五.启动前端项目

1.安装 Node

2.安装依赖

代码语言:javascript
复制
npm i -g @babel/cli
npm i -g @babel/core

npm install

3.运行

在 Pycharm Terminal 新建一个选项卡,输入 npm run watch 即可启动

六.结束

安装过程全是辛酸泪,从最开始的 Windows 上折腾 Python 依赖的问题,到最后确实无法运行的结果,然后又装 Deepin 从零搭建开发环境到运行起来(花了一个下午),几经波折,终究是如愿以偿。此间遇到的问题,全都写在文中了,希望能帮到大家。最后发一张 Deepin 系统和成功跑起来的 Redash 的图。

image-20200930162433269
image-20200930162433269
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-10-09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一.操作系统选择
  • 二.必要环境安装
  • 三.安装 Redash 依赖
  • 四.调试和运行配置
  • 五.启动前端项目
  • 六.结束
相关产品与服务
数据传输服务
腾讯云数据传输服务(Data Transfer Service,DTS)可帮助用户在业务不停服的前提下轻松完成数据库迁移上云,利用实时同步通道轻松构建高可用的数据库多活架构,通过数据订阅来满足商业数据挖掘、业务异步解耦等场景需求。同时,DTS 还提供私有化独立输出版本 DTS-DBbridge,支持异构数据库和同构数据库之间迁移和同步,可以帮助企业实现完整数据库迁移(如 Oracle)。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档