superset在 centos 7安装运行

本人安装的版本及注意问题(安装其他版本有些问题)

安装superset0.23.0,如果用mysql需要安装pip install mysql-python,不要再安装mysqlclient
 

以下为网上参考

OS: centos7

Superset版本:0.23.2

Python版本:2.7

Druid版本:0.9.2

 

步骤一:安装cryptography

cryptography的作用是将连接密码加密。

 

sudo yum upgrade python-setuptools

sudo yum install gcc gcc-c++ libffi-devel python-devel python-pip python-wheel openssl-devel libsasl2-devel openldap-devel

 

步骤二,安装pip

如果还没有安装pip,就需要安装pip:

pip下载:

wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d46aaa333267fb1c922bb" --no-check-certificate

 

pip安装:

tar -xzvf pip-1.5.4.tar.gz

cd pip-1.5.4

python setup.py install

如果报错,请看:

https://zhidao.baidu.com/question/1240554972151163659.html

 

步骤三,安装virtualenv

官网推荐在virtualenv中安装 superset (Python 3 already ships virtualenv, for Python 2 you need to install it)。

pip install virtualenv

创建和激活一个 virtualenv :

# virtualenv is shipped in Python 3 aspyvenv 我的在(/opt/data/ 下superset)

virtualenv venv

source ./bin/activate

想要退出virtualenv,直接输入:

deactivate

 

参考:http://www.cnblogs.com/tk091/p/3700013.html

注意:接下来都在virtualenv下操作。

 

步骤四,更新pip和setuptools:

pip install --upgrade setuptools pip

 

步骤五,安装mysqlclient。

将superset的元数据存储改成mysql,就需要这一步。

ROOT权限下

yum install mysql-devel

virtualenv下:

pip install mysqlclient

 

参考:将 superset 的sqlite 改成 MySQL :

https://github.com/apache/incubator-superset/issues/2467

 

步骤六,安装superset

1、添加superset的配置文件。

在python所在的目录即PYTHONPATH(如,我这里是/hadoop/haozhuo/superset-venv/bin下),手动添加superset的配置文件superset_config.py。内容如下:

 

# ===============superset_config.py开始================

# -*- coding: utf-8 -*-

#使用python2.7,如果下面三行不加的话,使用中文时会出问题。

import sys # import sys package, if not already imported

reload(sys)

sys.setdefaultencoding('utf-8')

#---------------------------------------------------------

# Superset specific config

#---------------------------------------------------------

ROW_LIMIT = 5000

SUPERSET_WORKERS = 4

#默认是8088,改成8388

SUPERSET_WEBSERVER_PORT = 8388

#---------------------------------------------------------

 

#---------------------------------------------------------

# Flask App Builder configuration

#---------------------------------------------------------

# Your App secret key 这个我也不知道具体什么作用。按照官网就这么写了

SECRET_KEY = '\2\1thisismyscretkey\1\2\e\y\y\h'

 

#元数据存储默认使用的是sqlite。SQLALCHEMY_DATABASE_URI = 'sqlite:////path/to/superset.db'

#我这里改成mysql

#mysql://用户名:密码@192.168.1.162/数据库名?charset=utf8

SQLALCHEMY_DATABASE_URI = 'mysql://datag:[email protected]/superset?charset=utf8'

# Flask-WTF flag for CSRF

WTF_CSRF_ENABLED = True

 

# Set this API key to enable Mapbox visualizations

MAPBOX_API_KEY = ''

#汉化

BABEL_DEFAULT_LOCALE='zh'

LANGUAGES = {

'zh': {'flag': 'cn', 'name': 'Chinese'},

'en': {'flag': 'us', 'name': 'English'}

}

 

# =============== superset_config.py结束================

 

 

2) 安装

查看有哪些版本

pip查看superset所有可用版本(这里指定了镜像。官网的太慢),输入一个不存在的版本号,pip就会告诉你可用的版本号:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple superset==999999

 

 

安装

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple superset==0.23.2

如果不指定镜像,直接输入下面的即可:

pip install superset==0.23.2

 

卸载:

pip uninstall superset

 

3) 设置Druid的时区:

vi /hadoop/haozhuo/super/lib/python2.7/site-packages/superset/config.py

将DRUID_TZ = tz.tzutc()

改成:DRUID_TZ = tz.gettz('Asia/Shanghai')

如下图:

 

 

4)初始化数据

fabmanager create-admin --app superset

然后需要输入:

Username [admin]: jwzhou

User first name [admin]: zhou

User last name [user]: jianwen

Email [[email protected]]: [email protected]

Password: root

Repeat for confirmation: root

 

# Initialize the databasesuperset db upgrade# Load some data to play with

# superset load_examples# Create default roles and permissionssuperset init

 

5) 汉化

从源码中下载

https://github.com/apache/incubator-superset/tree/master/superset/translations

这个目录,复制到

./lib/python2.7/site-packages/superset/下

(我下载的0.23.2好像已经带了汉化包,故可忽略复制)

自已翻译后需要将.po文件翻译成.mo文件:

pybabel compile -d translations

 

6)启动

# Start the web server on port 8088, use -p to bind to another ports

uperset runserver

或者指定端口:

superset runserver -p 8388 &

 

登录:

http://118.126.117.140:8388

你会发现很多按钮报500此时需要执行更新数据库

superset db upgrade

 

# To start a development web server, use the -d switch# superset runserver -d

https://superset.incubator.apache.org/

 

 

 

特征

  • 丰富的数据可视化集
  • 一个易于使用的界面,用于探索和可视化数据
  • 创建和共享仪表板
  • 通过集成主要身份验证提供程序(数据库,OpenID,LDAP,OAuth和通过Flask AppBuilder的REMOTE_USER)进行企业级身份验证
  • 可扩展的,高粒度的安全/权限模型,允许谁可以访问各个功能和数据集的复杂规则
  • 一个简单的语义层,允许用户通过定义哪些字段应显示哪些下拉列表以及哪些聚合和功能指标可供用户使用,从而控制数据源在UI中的显示方式
  • 通过SQLAlchemy与大多数SQL讲RDBMS集成
  • 与Druid.io深度集成
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章