• 1-0 superset的安装和配置



    Superset安装及教程官网(http://airbnb.io/superset/installation.html)讲解的已经够详细的了,本篇以官网教程为蓝本进行说明。

    入门

    Superset目前使用Python 2.7和Python 3.4+进行测试。 推荐Python 3,不支持Python 2.6。

    系统依赖

    Superset为了安全考虑,在其元数据数据库中存储数据库连接信息。为了这个目的,他们使用了cryptography库来加密连接密码,但是这个库有操作体统级别的依赖。如果你在进行安装和初始化时碰到了错误,就需要在OS上安装这些依赖:

    对于Debian和Ubuntu,以下命令将确保安装所需的依赖关系:

    sudo apt-get install build-essential libssl-dev libffi-dev python-dev python-pip libsasl2-dev libldap2-dev

    对于Fedora和RHEL衍生产品,以下命令将确保安装所需的依赖关系:

    sudo yum upgrade python-setuptools
    sudo yum install gcc libffi-devel python-devel python-pip python-wheel openssl-devel libsasl2-devel openldap-devel

    OSX,不推荐使用系统python。 brew的python也有pip:

    brew install pkg-config libffi openssl python
    env LDFLAGS="-L$(brew --prefix openssl)/lib" CFLAGS="-I$(brew --prefix openssl)/include" pip install cryptography

    Windows在这一点上没有正式支持,但如果你想尝试它,下载get-pip.py,并运行python get-pip.py可能需要管理员访问。 然后运行以下命令:

    C:> pip install cryptography

    # You may also have to create C:Temp
    C:> md C:Temp

    Python Virtualenv、setup tools、pip

    建议在virtualenv中安装Superset。 Python 3已经提供了virtualenv,对于Python 2你需要安装它。使用pip来安装:

    pip install virtualenv

    您可以通过以下方式创建和激活virtualenv:

    # virtualenv is shipped in Python 3 as pyvenv
    virtualenv venv
    . ./venv/bin/activate

    在Windows上,激活它的语法有点不同:

    venvScriptsactivate

    一旦你激活你的virtualenv你所做的一切都只限于virtualenv。 要退出virtualenv只需键入deactivate。

    尽可能的更新到最新版本的setuptools和pip

    pip install --upgrade setuptools pip

    Superset的安装和初始化

    按照以下几个简单的步骤安装Superset:

    # 安装superset
    pip install superset

    # 创建管理员用户
    fabmanager create-admin --app superset

    创建的表如下:8

    # 初始化数据库
    superset db upgrade

    创建的表如下:21

    # 加载样例数据
    superset load_examples

    创建的表如下:6

    # 创建默认角色和权限
    superset init

    # 在8088端口启动服务
    superset runserver -p 8088

    # 使用-d(开发模式)来启动服务
    # superset runserver -d

    安装后,您应该能够将浏览器指向正确的主机名:port http:// localhost:8088,使用您在创建管理员帐户时输入的凭据登录,然后Menu -> Admin -> Refresh Metadata。这个动作刷新你的所有数据源,数据源显示在Menu -> Datasources,从那里你可以开始使用你的数据!

    Superset使用gunicorn来跑web server,不支持windows。

    四、Load Balancer配置

    如果您在负载平衡器或逆向代理(例如AWS上的NGINX或ELB)后运行Superset,您可能需要使用运行状况检查端点,以便负载均衡器知道您的Superset实例是否正在运行。这在/health提供,如果web服务器正在运行,将返回包含“OK”的200响应。

    如果负载均衡器插入X-Forwarded-For / X-Forwarded-Proto头,则应在超集配置文件中设置ENABLE_PROXY_FIX = True以提取和使用头。

    五、Superset配置

    要配置应用程序,您需要创建一个文件(模块)superset_config.py并确保它在您的PYTHONPATH中。 以下是可以在该文件中配置的一些参数:

    #---------------------------------------------------------
    # Superset specific config
    #---------------------------------------------------------
    ROW_LIMIT = 5000
    SUPERSET_WORKERS = 4

    SUPERSET_WEBSERVER_PORT = 8088
    #---------------------------------------------------------

    #---------------------------------------------------------
    # Flask App Builder configuration
    #---------------------------------------------------------
    # Your App secret key
    SECRET_KEY = '21thisismyscretkey12eyyh'

    # The SQLAlchemy connection string to your database backend
    # This connection defines the path to the database that stores your
    # superset metadata (slices, connections, tables, dashboards, ...).
    # Note that the connection information to connect to the datasources
    # you want to explore are managed directly in the web UI
    SQLALCHEMY_DATABASE_URI = 'sqlite:////path/to/superset.db'

    # Flask-WTF flag for CSRF
    CSRF_ENABLED = True

    # Set this API key to enable Mapbox visualizations
    MAPBOX_API_KEY = ''

    此文件还允许您定义Flask App Builder(Superset使用的Web框架)使用的配置参数。 有关如何配置Superset的更多信息,请参阅Flask App Builder文档。

    请确保以下配置:

    SQLALCHEMY_DATABASE_URI,默认情况下存储在~/.superset/superset.db

    SECRET_KEY,一个长的随机字符串

    六、数据库依赖的安装和配置

    Superset不附带与数据库的连接,除了Sqlite,它是Python标准库的一部分。 您需要为要用作元数据数据库的数据库安装所需的软件包,以及连接到要通过Superset访问的数据库所需的软件包。

    这里有一些推荐的软件包列表。

    databasepypi packageSQLAlchemy URI prefix
    MySQL pip install mysqlclient mysql://
    Postgres pip install psycopg2 postgresql+psycopg2://
    Presto pip install pyhive presto://
    Oracle pip install cx_Oracle oracle://
    sqlite   sqlite://
    Redshift pip install sqlalchemy-redshift redshift+psycopg2://
    MSSQL pip install pymssql mssql://
    Impala pip install impyla impala://
    SparkSQL pip install pyhive jdbc+hive://
    Greenplum pip install psycopg2 postgresql+psycopg2://

    注意,许多其他数据库都支持,主要标准是存在一个功能的SqlAlchemy方言和Python驱动程序。 除了描述要连接的数据库的关键字之外,搜索关键字sqlalchemy应该能够将您带到正确的位置。

    七、配置缓存

    Superset使用Flask-Cache进行缓存。 配置缓存后端与在superset_config.py中提供符合Flask-Cache规范的CACHE_CONFIG常量一样简单。

    Flask-Cache支持多个缓存后端(Redis,Memcached,SimpleCache(内存中)或本地文件系统)。 如果你要使用Memcached请使用pylibmc客户端库,因为python-memcached不能正确处理存储二进制数据。 如果你使用Redis,请安装[python-redis](https://pypi.python.org/pypi/redis)。

    对于设置超时,这是在Superset元数据中完成的,并从“切片配置”到数据源的配置,到数据库的“timeosearchpath”,并最终落回在CACHE_CONFIG中定义的全局默认值。

  • 相关阅读:
    mariadb密码问题
    高性能负载均衡之算法
    高性能负载均衡之分类架构
    Python之Web2py框架使用
    这个世界上总有比你更努力的朋友
    2015年度新增开源软件排名TOP100
    Netty4.0 用户指南
    C#语言
    C# 注释
    .NET中XML 注释 SandCastle 帮助文件.hhp 使用HTML Help Workshop生成CHM文件
  • 原文地址:https://www.cnblogs.com/netbloomy/p/6689373.html
Copyright © 2020-2023  润新知