Redash BI 开发环境搭建
趁着思路清晰,尽快整理一下Redash BI开发环境的搭建。网上找了很多二次开发环境的搭建,但是都是断断续续,最最重点的内容反而没有,导致折腾好久。
注意::开发环境不要用Windows,一定要用Linux或者Mac,说的直接点,Redash就不是为Windows准备的(我的理解,害的我当时在windows上折腾了好久,就差那么一点点,最后找来找去,发现RQ这个组件在Windows上不支持,早期版本用的是Celery。可为什么不适配Windows呢,想不通)
我的开发环境如下:
1)操作系统:Deepin(支持国产,还不错)
2)Node.js(我用的版本是node-v14.2.0-linux-x64)
3)Python3.6(x64,注意所有相关的软件必须bit统一,否则会有问题)
4)pycharm-2020.1(最新版本x64)
5)postgreSQL(装在任何机器上都可以,不一定在一台机上,只要网络相互通)
7)Redis(装在任何机器上都可以,不一定在一台机器上,只要网络相互通)
以上安装配置省略,度娘上找,重点还是说后续的二次开发环境搭建过程。
第一步:在Git上获取最新的版本,https://github.com/getredash/redash.git,通过pycharm可以pull到本地,相应的工程也创建完成。
第二步:配置Project Interpeter,创建一个虚拟环境,注意,一定是自己安装的python3.6。
第三步:根据项目上的提示,Install Redash需要的模块,如上图的列表中的模块,这里安装的时候最容易出现问题的可能是pycrypto2.6.1几个模块安装失败,我这里解决的是安装以下几个库(可能因linux版本,内核等不一样,表现形式也不同,还得对症下药。这一关必须要正确安装通过,否则项目运行不起来)
sudo apt-get install libxml2-dev libxslt1-dev
sudo apt-get install zlib1g-dev
sudo apt-get install libevent-dev
第四步:配置Run/Debug Configurations
第五步:配置redis和postgreSQL的连接地址等相关配置,我这里用的是不同机器的redis和postgreSQL,所以需要在项目主目录开始的~/redash/settings/_init_.py中修改。
第六步:创建元数据Postgres,根据上一步的配置,我们使用了带有用户名密码的数据库,数据库名为postgres,用户密码都是postgres。
1)在pycharm的Terminal中运行创建数据库表的语句
./manage.py database create_tables
2) 运行过程中可能出错,按照提示解决(我这里遇到一个奇怪的问题,第一次运行出错了,查看postgres数据库,只生成了部分表,然后第二次又运行一遍,所有表都生成了,看运气吧 )
第七步:Redis服务端需要提前启动好。
第八步:在Teminal中运行npm install,运行完成之后再运行npm build watch。这一步主要是安装配置前端界面部分,如果这两步不执行,启动服务后无法访问页面。
第九步:最关键的一步,为了能够正常创建数据源,查询等操作,必须在Termnial中运行./manage.py rq worker 命令,否则sql执行一直等待。(我这里用的最新版本的redash 9.0.0.bata版本,后台框架使用了RQ,早期版本使用的Celery,需要注意)
第十步:运行flask
访问http://localhost:5000
至此,开发环境配置结束。里面很多细节还需要认真研究。
下一篇再说一下Oracle数据源的配置。