爲了寫畢業設計安裝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? 於是找到下邊連接,報錯一模一樣。
他更換爲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上找到了同樣的一個問題,貌似還未解決。
==============
亂七八糟錯誤總結,明天早上再說!