轻量级BI工具superset搭建与使用

文章目录

  • 1 前置条件:
    • 1.1 创建个虚拟环境
    • 1.2 docker 安装及服务启动
    • 1.3 安装依赖`docker-compose`
  • 2. 安装superset(参考自superset官方文档)
  • 3. 配置(未完待续)

  • 以下基于华为云centos7.5 ,python3.6 环境, superset安装过程参考自官方文档

1 前置条件:

1.1 创建个虚拟环境

参考我的另一个博客

1.2 docker 安装及服务启动

参考docker安装

1.3 安装依赖docker-compose

# 1.1 创建好虚拟环境后, 再建个激活软链
[root@ecs-s6-medium-2-linux-20191113090041 pyenvs]# ln -s /usr/local/pyenvs/superset/bin/activate /usr/bin/activate_superset
# 进行虚拟环境
[root@ecs-s6-medium-2-linux-20191113090041 pyenvs]# source activate_superset
# 安装docker-compose
(superset) [root@ecs-s6-medium-2-linux-20191113090041 pyenvs]# pip3 install docker-compose
... 省略一大堆安装过程

2. 安装superset(参考自superset官方文档)

# 现在是在虚拟环境的目录下, 需要 cd 到 项目目录下,以下操作在项目目录 
(superset) [root@ecs-s6-medium-2-linux-20191113090041 pyenvs]# cd /home/project/
(superset) [root@ecs-s6-medium-2-linux-20191113090041 project]# git clone https://github.com/apache/incubator-superset/
(superset) [root@ecs-s6-medium-2-linux-20191113090041 project]# cd incubator-superset/contrib/docker/
(superset) [root@ecs-s6-medium-2-linux-20191113090041 docker]# ll
total 28
-rw-r--r-- 1 root root 2114 Nov 22 11:08 docker-compose.yml
-rwxr-xr-x 1 root root 1594 Nov 22 11:08 docker-entrypoint.sh
-rw-r--r-- 1 root root 2506 Nov 22 11:08 Dockerfile
-rwxr-xr-x 1 root root 1203 Nov 22 11:08 docker-init.sh
-rw-r--r-- 1 root root 1986 Nov 22 11:08 README.md
-rw-r--r-- 1 root root  797 Nov 22 11:08 requirements-extra.txt
-rw-r--r-- 1 root root 2292 Nov 22 11:08 superset_config.py
(superset) [root@ecs-s6-medium-2-linux-20191113090041 docker]# pwd
/home/project/incubator-superset/contrib/docker
# 安装配置文件
(superset) [root@ecs-s6-medium-2-linux-20191113090041 docker]# docker-compose run --rm superset ./docker-init.sh
过了好久...
(superset) [root@ecs-s6-medium-2-linux-20191113090041 docker]# docker-compose up
运行过程中报错了...
  • 报错信息: Unknown flag: chown
  • 参考解决方案: docker hub 社区给出的解决方案
  • 再次运行时,又出现问题:
  • 本次报错信息: sudo not found
  • 解决方案: 在Dockerfile中添加RUN apt-get update && apt-get install sudo
    所以最终修改后的Dockerfile如下:
[root@ecs-s6-medium-2-linux-20191113090041 docker]# cat Dockerfile 
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
FROM python:3.6-jessie

RUN useradd --user-group --create-home --no-log-init --shell /bin/bash superset

# Configure environment
ENV LANG=C.UTF-8 \
    LC_ALL=C.UTF-8

RUN apt-get update -y

# Install dependencies to fix `curl https support error` and `elaying package configuration warning`
RUN apt-get install -y apt-transport-https apt-utils

# install sudo 以下一行为新增
RUN apt-get update && apt-get install sudo

# Install superset dependencies
# https://superset.incubator.apache.org/installation.html#os-dependencies
RUN apt-get install -y build-essential libssl-dev \
    libffi-dev python3-dev libsasl2-dev libldap2-dev libxi-dev

# Install extra useful tool for development
RUN apt-get install -y vim less postgresql-client redis-tools

# Install nodejs for custom build
# https://superset.incubator.apache.org/installation.html#making-your-own-build
# https://nodejs.org/en/download/package-manager/
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - \
    && apt-get install -y nodejs

WORKDIR /home/superset

COPY requirements.txt .
COPY requirements-dev.txt .
COPY contrib/docker/requirements-extra.txt .

RUN pip --default-timeout=120 install --upgrade setuptools pip \
    && pip --default-timeout=120 install -r requirements.txt -r requirements-dev.txt -r requirements-extra.txt \
    && rm -rf /root/.cache/pip

# 以下一行为原文,被注释
# COPY --chown=superset:superset superset superset
# 以下两行为新增
COPY  superset superset
RUN sudo chown -R superset:superset superset


ENV PATH=/home/superset/superset/bin:$PATH \
    PYTHONPATH=/home/superset/superset/:$PYTHONPATH

USER superset

RUN cd superset/assets \
    && npm ci \
    && npm run build \
    && rm -rf node_modules

COPY contrib/docker/docker-init.sh .
COPY contrib/docker/docker-entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]

HEALTHCHECK CMD ["curl", "-f", "http://localhost:8088/health"]

EXPOSE 8088
[root@ecs-s6-medium-2-linux-20191113090041 docker]# 

3. 配置(未完待续)



你可能感兴趣的:(python进阶)