superset安裝採坑

爲了寫畢業設計安裝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使用了MySQLdbsqlalchemy兩個模塊所以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

 

==============

亂七八糟錯誤總結,明天早上再說!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章