为了写毕业设计安装spuerset 弄到半夜一点多,才算勉强弄好。记录一下就去睡觉。
首先在阿里云ecs下尝试安装,阿里云比较坑的一点是他默认给你安装了python2.7,并且有些linux基础组件还必须基于python2.7。要用python3的东西就很不方便 。指路 在阿里云CentOS服务器上安装Python3.7并设置为默认Python
此时你已经很好的做到python3和python2共存,接下来面对挑战吧。 指路 superset安装部署及简单使用、Superset的安装配置及基础使用手册
有一个命令发生了变更
旧: fabmanager create-admin --app superset | 新: flask fab create-admin --username superset |
如果看完这两篇文档,想必你一定安装了一大堆东西,如果顺利那么恭喜你不用往下看了。如果和我一样悲催,我们一起共勉。
此时有个叫_sqlite3.so 的东西找不到
参考这个:Python3以上版本安装sqlite3的解决方案 、Linux下编译安装python3
(sqlite-autoconf 点进去连接下载这个东西 然后解压后安装)
LD_RUN_PATH看起来是个对变量赋值的操作,所以一直在想要存在哪里,后来实际执行中发现就是语句的一部分。可直接执行
控制台输入python3进入环境
import sqlite3没报错说明ok
=========================
以上操作反反复复挣扎了两天后,放弃了改用ambari集成化的superset组件。如果只想搭建报表平台而不想搭建一个重规模的hadoop集群,那么你可以换台机器,继续尝试上述步骤。
使用ambari2.7安装完成superset0.23.0后,因为我采用的是mysql作为存储,需要自己安装flask 与mysqlclient ,pip install 安装即可。CSRF令牌过期的错误刷新一下就好。
这是广为流传的安装文件以及uri连接开头,这里把我坑坏了。
使用mysql开头的uri会报错,(MySQLdb._exceptions.OperationalError) (2003, \"Can't connect to MySQL server on '172.X.X.X' (111)\") (Background on this error at: http://sqlalche.me/e/e3q8)"}
python使用了MySQLdb
和sqlalchemy两个模块所以url好像发生了变换还是怎么。
附上最后使用的正确url
mysql+pymysql://root:[email protected]:3306/yourdatabase?charset=utf8
最后就是mysql版本问题 期间使用了5.7和8两个版本进行连接。5.7正常后,8依旧报错
ERROR: {"error": "Connection failed!\n\nThe error message returned was:\n(pymysql.err.OperationalError) (2003, \"Can't connect to MySQL server on 'X.X.X.X' (timed out)\") (Background on this error at: http://sqlalche.me/e/e3q8)"}
为什么不问一问神奇stack? 于是找到下边连接,报错一模一样。
https://datascience.stackexchange.com/questions/46874/python-pandas-pymysql-err-operationalerror-2003-cant-connect-to-mysql/72546#72546
他更换为mysql://后正确。我报错
ERROR: {"error": "Connection failed!\n\nThe error message returned was:\n(MySQLdb._exceptions.OperationalError) (2003, \"Can't connect to MySQL server on '172.X.X.X' (111)\") (Background on this error at: http://sqlalche.me/e/e3q8)"}
有人说是mysql8添加了新的加密方式python3还未更新。更换为 :mysql_native_password
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourPassword';
FLUSH PRIVILEGES;
select host,user,plugin,authentication_string from mysql.user;
更换后没太大用。又在stack上找到了同样的一个问题,貌似还未解决。
https://stackoverflow.com/questions/25091154/mysql-exceptions-operationalerror-2003-cant-connect-to-mysql-server-on-12
==============
乱七八糟错误总结,明天早上再说!