1、安裝python3以上版本
# cd /usr/local/src
下載文件
# yum install wget
# wgethttps://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz(這里我已經(jīng)提前下載,所以直接上傳)
解壓
#? tar -zxvf Python-3.6.0.tgz
進(jìn)入解壓目錄
#? cd Python-3.6.0
編譯安裝包
#? ./configure --prefix=/usr/local/python
#? make && make install
添加環(huán)境變量
#? echo PATH='/usr/local/python/bin/:$PATH' >> /etc/profile
#? source /etc/profile
檢查是否成功,執(zhí)行下面代碼
#? python3.6
修改系統(tǒng)默認(rèn)的Python路徑,因?yàn)樵诮K端中輸入Python命令時(shí)默認(rèn)是指向 Python2.7.5
#? mv /usr/bin/python /usr/bin/python-2.7.5
建立新的軟連接,指向Python-3.6.0?
#? ln -s /usr/local/python/bin/python3.6 /usr/bin/python
因?yàn)閥um是依賴python的,所以這里我們修改了默認(rèn)的python精钮,就要修改yum,讓其運(yùn)行指向舊的版本:
#? vi /usr/bin/yum
將第一行中的“#!/usr/bin/python”?? 修改為“#!/usr/bin/python-2.7.5”剃斧,保存即可
#? vi /usr/libexec/urlgrabber-ext-down(同上)
打開一個(gè)新的終端轨香,通過python命令進(jìn)入python環(huán)境,可以看到已經(jīng)指向了我們新安裝的python3.6.0:
# python
Python 3.6.0 (default, Dec 12 2018, 03:40:52)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
2幼东、安裝容器和密碼驗(yàn)證工具臂容,建議直接按照以下指令順序執(zhí)行就好
# yum upgrade python-setuptools
# yum install gcc gcc-c++ libffi-devel python-devel python-pip python-wheel openssl-devel cyrus-sasl-devel openldap-devel
# pip install cryptography
# pip install virtualenv
3科雳、新建一個(gè)容器空間進(jìn)行操作(網(wǎng)上一堆的教程都是將superset安裝在容器之中,可能是為了環(huán)境隔離吧策橘,因?yàn)橹虚g需要使用的第三方依賴庫(kù)還是很多的疙筹,避免影響了原始業(yè)務(wù)系統(tǒng)環(huán)境吧)
# python3 -m venv venv -- 新建一個(gè)名為venv的容器空間担忧,同時(shí)也會(huì)新建在當(dāng)前目錄下新建一個(gè)venv的文件夾买决,請(qǐng)?zhí)崆扒袚Q好工作文件夾
# . venv/bin/activate -- 進(jìn)入venv的容器環(huán)境
# pip install superset -- 容器環(huán)境下安裝superset
### 以下是重點(diǎn)督赤,最多坑的地方,因?yàn)閟uperset的運(yùn)行依賴很多第三方庫(kù)代碼丑婿,所以安裝python的依賴包并保證完整性很費(fèi)事,有人整理了一個(gè)文檔將這些依賴包進(jìn)行匯總,下載此文檔后耕挨,在本地按照文件安裝依賴包就好
# wgethttps://github.com/Warding/InternetRecords/blob/master/%E5%B7%A5%E5%85%B7%E4%BD%BF%E7%94%A8/superset_requirements.txt(這里我已經(jīng)提前下載,所以直接上傳)
# pip install --upgrade pip
# pip install -r superset_requirements.txt -- 安裝依賴包
# superset db upgrade -- 初始化db環(huán)境
# export FLASK_APP=superset --賬戶設(shè)定
# flask fab create-admin --創(chuàng)建賬戶按提示輸入賬密就好
# superset load_examples --下載樣例數(shù)據(jù),可不執(zhí)行
# superset init --superset環(huán)境初始化
# superset run -p 8088 -h 192.168.236.167 --with-threads?? -- superset 啟動(dòng)(這里面我指定了端口和IP,分別是-p 和 -h 參數(shù)良哲,建議指定成自己的服務(wù)器IP和某個(gè)端口滑沧,網(wǎng)頁(yè)訪問的時(shí)候,**還需要將這個(gè)端口對(duì)外開放,不然你本地登錄網(wǎng)頁(yè)訪問會(huì)無法成功**)
4叠必、使用 輸入上面的IP和端口對(duì)應(yīng)的網(wǎng)址就行http://192.168.2.1:8088/骄呼,登錄后輸入剛剛建立的賬密就好
《superset_requirements.txt》
#
# This file is autogenerated by pip-compile
# To update, run:
#
#??? pip-compile --output-file=requirements.txt setup.py
#
alembic==1.3.2??????????? # via flask-migrate
amqp==2.5.2?????????????? # via kombu
apispec[yaml]==1.3.3????? # via flask-appbuilder
attrs==19.3.0???????????? # via jsonschema
babel==2.8.0????????????? # via flask-babel
backoff==1.10.0?????????? # via apache-superset (setup.py)
billiard==3.6.3.0???????? # via celery
bleach==3.1.0???????????? # via apache-superset (setup.py)
celery==4.4.1???????????? # via apache-superset (setup.py)
cffi==1.13.2????????????? # via cryptography
click==7.1.1????????????? # via apache-superset (setup.py), flask, flask-appbuilder
colorama==0.4.3?????????? # via apache-superset (setup.py), flask-appbuilder
contextlib2==0.6.0.post1? # via apache-superset (setup.py)
croniter==0.3.31????????? # via apache-superset (setup.py)
cryptography==2.8???????? # via apache-superset (setup.py)
decorator==4.4.1????????? # via retry
defusedxml==0.6.0???????? # via python3-openid
flask-appbuilder==2.2.4?? # via apache-superset (setup.py)
flask-babel==1.0.0??????? # via flask-appbuilder
flask-caching==1.8.0????? # via apache-superset (setup.py)
flask-compress==1.4.0???? # via apache-superset (setup.py)
flask-jwt-extended==3.24.1? # via flask-appbuilder
flask-login==0.4.1??????? # via flask-appbuilder
flask-migrate==2.5.2????? # via apache-superset (setup.py)
flask-openid==1.2.5?????? # via flask-appbuilder
flask-sqlalchemy==2.4.1?? # via flask-appbuilder, flask-migrate
flask-talisman==0.7.0???? # via apache-superset (setup.py)
flask-wtf==0.14.2???????? # via apache-superset (setup.py), flask-appbuilder
flask==1.1.1????????????? # via apache-superset (setup.py), flask-appbuilder, flask-babel, flask-caching, flask-compress, flask-jwt-extended, flask-login, flask-migrate, flask-openid, flask-sqlalchemy, flask-wtf
geographiclib==1.50?????? # via geopy
geopy==1.20.0???????????? # via apache-superset (setup.py)
gunicorn==20.0.4????????? # via apache-superset (setup.py)
humanize==0.5.1?????????? # via apache-superset (setup.py)
importlib-metadata==1.4.0? # via jsonschema, kombu
isodate==0.6.0??????????? # via apache-superset (setup.py)
itsdangerous==1.1.0?????? # via flask
jinja2==2.10.3??????????? # via flask, flask-babel
jsonschema==3.2.0???????? # via flask-appbuilder
kombu==4.6.8????????????? # via celery
mako==1.1.1?????????????? # via alembic
markdown==3.1.1?????????? # via apache-superset (setup.py)
markupsafe==1.1.1???????? # via jinja2, mako
marshmallow-enum==1.5.1?? # via flask-appbuilder
marshmallow-sqlalchemy==0.21.0? # via flask-appbuilder
marshmallow==2.19.5?????? # via flask-appbuilder, marshmallow-enum, marshmallow-sqlalchemy
more-itertools==8.1.0???? # via zipp
msgpack==0.6.2??????????? # via apache-superset (setup.py)
numpy==1.18.1???????????? # via pandas, pyarrow
pandas==0.25.3??????????? # via apache-superset (setup.py)
parsedatetime==2.5??????? # via apache-superset (setup.py)
pathlib2==2.3.5?????????? # via apache-superset (setup.py)
polyline==1.4.0?????????? # via apache-superset (setup.py)
prison==0.1.2???????????? # via flask-appbuilder
py==1.8.1???????????????? # via retry
pyarrow==0.16.0?????????? # via apache-superset (setup.py)
pycparser==2.19?????????? # via cffi
pyjwt==1.7.1????????????? # via flask-appbuilder, flask-jwt-extended
pyrsistent==0.15.7??????? # via jsonschema
python-dateutil==2.8.1??? # via alembic, apache-superset (setup.py), croniter, flask-appbuilder, pandas
python-dotenv==0.10.5???? # via apache-superset (setup.py)
python-editor==1.0.4????? # via alembic
python-geohash==0.8.5???? # via apache-superset (setup.py)
python3-openid==3.1.0???? # via flask-openid
pytz==2019.3????????????? # via babel, celery, flask-babel, pandas
pyyaml==5.3?????????????? # via apache-superset (setup.py), apispec
retry==0.9.2????????????? # via apache-superset (setup.py)
selenium==3.141.0???????? # via apache-superset (setup.py)
simplejson==3.17.0??????? # via apache-superset (setup.py)
six==1.14.0?????????????? # via bleach, cryptography, flask-jwt-extended, flask-talisman, isodate, jsonschema, pathlib2, polyline, prison, pyarrow, pyrsistent, python-dateutil, sqlalchemy-utils, wtforms-json
sqlalchemy-utils==0.36.1? # via apache-superset (setup.py), flask-appbuilder
sqlalchemy==1.3.12??????? # via alembic, apache-superset (setup.py), flask-sqlalchemy, marshmallow-sqlalchemy, sqlalchemy-utils
sqlparse==0.3.0?????????? # via apache-superset (setup.py)
urllib3==1.25.8?????????? # via selenium
vine==1.3.0?????????????? # via amqp, celery
webencodings==0.5.1?????? # via bleach
werkzeug==0.16.0????????? # via flask, flask-jwt-extended
wtforms-json==0.3.3?????? # via apache-superset (setup.py)
wtforms==2.2.1??????????? # via flask-wtf, wtforms-json
zipp==2.0.0?????????????? # via importlib-metadata
# The following packages are considered to be unsafe in a requirements file:
# setuptools