一、環境
作業系統:
centos linux release 7.2.1511 (core)
python版本:
python 2.7.5
安裝操作使用者:root
伺服器無法連線外網
二、安裝前準備
官網介紹的superset使用pip管理的,因此官網介紹的都是pip命令安裝superset,且superset執行在python虛擬環境中,因此需要virtualenv。
python-setuptools必須要有,安裝python模組工具包;
安裝thrift 0.9.3以上版本,本次安裝使用0.9.3;
安裝sasl 0.2.1以上版本, 本次使用0.2.1;
安裝thrift_sasl 0.2.1以上版本,本次安裝使用0.2.1;
安裝sqlparse 0.2.3以上版本,本次安裝使用0.2.3;
安裝sqlalchemy 1.1.9,本次使用1.1.9版本;
安裝sqlalchemy-utils 0.32.19,本次使用0.32.19;
安裝six 1.10.0,本次安裝1.10.0;
安裝******json 3.10.0,本次安裝3.10.0;
安裝certifi 2017.4.17以上版本,本次安裝2017.4.17;
安裝urllib3 1.21.1以上且1.22以下版本,本次安裝1.21.1;
安裝idna 2.5以上且2.6以下版本,本次使用2.5;
安裝setuptools_scm,本次使用1.15.4;
安裝pytest-runner ,本次安裝3.0;
安裝chardet 3.0.2以上且3.1.0以下版本,本次使用3.0.2;
安裝requests 2.17.3,本次安裝2.17.3;
安裝pyyaml 3.11以上,本次安裝3.11;
安裝python-dateutil 2.6.0,本次安裝2.6.0;
安裝fture,本次安裝0.16.0;
安裝pyhive 0.4.0,本次安裝0.4.0;
安裝pydruid 0.3.1,本次安裝0.3.1;
安裝parsedatetime 2.0.0,本次安裝2.0.0;
安裝numpy 1.7.0以上,本次安裝1.7.0;
安裝pandas0.20.3,本次安裝0.20.3;
安裝markdown 2.6.8,本次安裝2.6.8;
安裝gunicorn 19.7.1,本次安裝19.7.1;
安裝humanize 0.5.1,本次安裝0.5.1;
安裝babel 2.3以上,本次安裝2.3.4;
安裝tornado 4.2.0,本次安裝4.2;
安裝amqp 1.4.9以上且2.0以下,本次安裝1.4.9;
安裝anyjson 0.3.3以上,本次安裝0.3.3;
安裝kombu 3.0.37以上且3.1以下,本次安裝3.0.37;
安裝billiard 3.3.0.23以上且3.4以下,本次安裝3.3.0.23;
安裝celery 3.1.25,本次安裝3.1.25;
安裝flower 0.9.1, 本次安裝0.9.1;
安裝wtforms ,本次安裝2.0.2;
安裝flask-wtf 0.14.2,本次安裝0.14.2;
安裝flask-testing 0.6.2,本次安裝0.6.2;
安裝flask-sqlalchemy 2.1,本次安裝2.1;
安裝flask-script 2.0.5,本次安裝2.0.5;
安裝mako,本次安裝1.0.7;
安裝alembic 0.7.0以上,本次安裝0.7.0;
安裝flask-migrate 2.0.3,本次安裝2.0.3;
安裝flask-cache 0.13.1,本次安裝0.13.1;
安裝python-openid 2.0以上,本次安裝2.2.5;
安裝flask-openid 1.2.5,本次安裝1.2.5;
安裝flask-login 0.2.11,本次安裝0.2.11;
安裝flask-babel 0.11.1,本次安裝0.11.1;
安裝click 6.7,本次安裝6.7;
安裝itsdangerous 0.21以上,本次安裝0.21;
安裝jinja2 2.4以上,本次安裝2.4;
安裝werkzeug 0.7以上,本次安裝0.7;
安裝flask 0.12.2,本次安裝0.12.2;
安裝colorama 0.3.9,本次安裝0.3.9;
安裝asn1crypto 0.21.0以上,本次安裝0.21.0;
安裝cffi 1.7以上,本次安裝1.7.0;
安裝enum34,本次安裝1.1.5;
安裝ipaddress,本次安裝1.0.19;
安裝cryptography 1.9,本次安裝1.9;
安裝docutils 0.10以上,本次安裝0.10;
安裝jmespath 0.7.1以上且1.0以下,本次安裝0.7.1;
安裝botocore 1.5.0以上且1.6.0以下,本次安裝1.5.0;
安裝futures 2.2.0以上且4.0以下,本次安裝2.2.0;
安裝s3transfer 0.1.10以上且0.2.0以下,本次安裝0.1.10;
安裝boto3 1.4.4,本次安裝1.4.4;
npm config set registry
由於本人pc機使用的是**主機聯網的,故需要配置npm**,配置方法是
npm config set proxy http://**主機:埠
四、手動安裝
解壓:unzip incubator-superset-0.20.zip
進入原始碼目錄:cd incubator-superset-0.20
打包原始碼: python setup.py build
安裝前需要將前端**拷貝進build目錄下,將superset/assets目錄拷貝到build/lib/superset/static目錄下(不包括 docs及node_modles目錄),
因為呼叫setup指令碼的build命令,無法將superset/static目錄打進安裝包裡(因為裡面只有乙個軟連線目錄,暫時不知道為何無法打進build目錄下里),
所以目前是build後手動拷貝到build目錄下。
安裝:python setup.py --verbose install
安裝需要root使用者,因為安裝過程中需要向本地python安裝目錄寫入檔案。
superset依賴很多,對於內網環境來說,安裝很不方便。因此需要考慮在一台可以聯網的主機上編譯打包乙個包含所有依賴的全量包,最好能打成rpm包方便安裝。這裡就可以使用virtualenv來隔離出乙個python環境,將安裝的第三方依賴存放在指定的目錄裡,最後將這個目錄與原始碼的superset目錄一起打包部署即可。
五、啟動服務
啟動服務不需要root使用者。
修改配置檔案superset/config.py
這個資料庫不熟悉,因此使用mysql,使用mysql前需要安裝mysqlclient的python模組,本次我使用的是1.3.12版本;
建立管理員使用者,執行完這一步會在mysql資料庫裡刷出幾張表
初始化資料庫:
superset db upgrade
資料庫初始化失敗了,修改superset/migrations/versions/2591d77e9831_user_id.py指令碼
將def upgrade():
with op.batch_alter_table('tables') as batch_op:
batch_op.add_column(sa.column('user_id', sa.integer()))
batch_op.create_foreign_key('user_id', 'ab_user', ['user_id'], ['id'])
改為def upgrade():
with op.batch_alter_table('tables') as batch_op:
batch_op.add_column(sa.column('user_id', sa.integer(), sa.foreignkey("ab_user.id")))
重新打包安裝,然後重新upgrade即可。
載入樣例
superset load_examples
初始化superset init
啟動nohup superset runserver >> /var/log/superset/superset.log 2>&1 &
六、訪問服務
瀏覽器輸入http://主機:8088即可。
Superset安裝部署
1,建立software資料夾 sudo mkdir software2,授權 sudo chown atguigu atguigu software 3,建立superset資料夾 mkdir superset4,將miniconda3 latest linux x86 64.sh上傳到 opt ...
superset安裝採坑
為了寫畢業設計安裝spuerset 弄到半夜一點多,才算勉強弄好。記錄一下就去睡覺。首先在阿里雲ecs下嘗試安裝,阿里雲比較坑的一點是他預設給你安裝了python2.7,並且有些linux基礎元件還必須基於python2.7。要用python3的東西就很不方便 指路 在阿里雲centos伺服器上安裝...
記 linux 安裝 mysql (非手動)
作業系統linux vm 0 14 ubuntu 4.15.0 54 generic mysql 版本mysql server 5.7 1 安裝之前檢視系統是否有預設安裝的mysql版本 mysql 指服務名稱 dpkg list grep mysql例 ubuntu vm 0 14 ubuntu ...