CentOS7下使用docker-compose安装部署superset

这篇具有很好参考价值的文章主要介绍了CentOS7下使用docker-compose安装部署superset。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


一、安装 docker、docker-compose

见 docker在CentOS下安装 和 Docker-compose安装。

二、下载

git clone https://github.com/apache/superset.git
cd superset

官网指引:
https://superset.apache.org/docs/installation/installing-superset-using-docker-compose

三、修改 superset 配置文件

1.修改 docker-compose-non-dev.yml

#
# 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.
#
x-superset-image: &superset-image apache/superset:${TAG:-latest-dev}
x-superset-depends-on: &superset-depends-on
#  - db
  - redis
x-superset-volumes: &superset-volumes
  # /app/pythonpath_docker will be appended to the PYTHONPATH in the final container
  - ./docker:/app/docker
  - superset_home:/app/superset_home

version: "3.7"
services:
  redis:
    image: redis:7
    container_name: superset_cache
    restart: unless-stopped
    volumes:
      - redis:/data

#  db:
#    env_file: docker/.env-non-dev
#    image: postgres:14
#    container_name: superset_db
#    restart: unless-stopped
#    volumes:
#      - db_home:/var/lib/postgresql/data

  superset:
    env_file: docker/.env-non-dev
    image: *superset-image
    container_name: superset_app
    command: ["/app/docker/docker-bootstrap.sh", "app-gunicorn"]
    user: "root"
    restart: unless-stopped
    ports:
      - 8088:8088
    depends_on: *superset-depends-on
    volumes: *superset-volumes

  superset-init:
    image: *superset-image
    container_name: superset_init
    command: ["/app/docker/docker-init.sh"]
    env_file: docker/.env-non-dev
    depends_on: *superset-depends-on
    user: "root"
    volumes: *superset-volumes
    healthcheck:
      disable: true

  superset-worker:
    image: *superset-image
    container_name: superset_worker
    command: ["/app/docker/docker-bootstrap.sh", "worker"]
    env_file: docker/.env-non-dev
    restart: unless-stopped
    depends_on: *superset-depends-on
    user: "root"
    volumes: *superset-volumes
    healthcheck:
      test: ["CMD-SHELL", "celery -A superset.tasks.celery_app:app inspect ping -d celery@$$HOSTNAME"]

  superset-worker-beat:
    image: *superset-image
    container_name: superset_worker_beat
    command: ["/app/docker/docker-bootstrap.sh", "beat"]
    env_file: docker/.env-non-dev
    restart: unless-stopped
    depends_on: *superset-depends-on
    user: "root"
    volumes: *superset-volumes
    healthcheck:
      disable: true

volumes:
  superset_home:
    external: false
#  db_home:
#    external: false
  redis:
    external: false

注:此处使用自己搭建的 mysql 作为数据的存储

2.修改 .env-non-dev

该文件在 ./superset/docker 目录下,使用 ls -a 进行查看该隐藏文件

#
# 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.
#
COMPOSE_PROJECT_NAME=superset

# database configurations (do not modify)
DATABASE_DB=superset
DATABASE_HOST=192.168.1.xx
DATABASE_PASSWORD=superset
DATABASE_USER=superset

# database engine specific environment variables
# change the below if you prefer another database engine
#DATABASE_PORT=5432
DATABASE_PORT=3306
#DATABASE_DIALECT=postgresql
DATABASE_DIALECT=mysql
#POSTGRES_DB=superset
#POSTGRES_USER=superset
#POSTGRES_PASSWORD=superset
MYSQL_DATABASE=superset
MYSQL_USER=superset
MYSQL_PASSWORD=superset
MYSQL_RANDOM_ROOT_PASSWORD=yes

# Add the mapped in /app/pythonpath_docker which allows devs to override stuff
PYTHONPATH=/app/pythonpath:/app/docker/pythonpath_dev
REDIS_HOST=redis
REDIS_PORT=6379

FLASK_ENV=production
SUPERSET_ENV=production
SUPERSET_LOAD_EXAMPLES=yes
SUPERSET_SECRET_KEY=TEST_NON_DEV_SECRET
CYPRESS_CONFIG=false
SUPERSET_PORT=8088
MAPBOX_API_KEY=''

注:
1、增加自行搭建的 mysql 地址、账号和密码,注释掉 pg。
2、redis 改为自行搭建 redis 时会出现无法连接 redis 的错误,笔者还找不到原因,所以仍然使用系统默认配置的 redis。

四、创建数据库及数据库用户

CREATE USER superset IDENTIFIED BY 'superset';
GRANT ALL PRIVILEGES ON *.* TO 'superset'@'%' ;
CREATE DATABASE superset DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

五、启动

docker-compose -f docker-compose-non-dev.yml up -d

启动时可能会报错:

Error response from daemon: oci runtime error: container_linux.go:290: starting container process caused "exec: \"/app/docker/docker-bootstrap.sh\": permission denied"

解决方法:

cd ./docker
chmod 777 *.sh

使用高版本 docker-compose 可能会报错:

unexpected character "(" in variable name 

换为低版本就可以了。我这里将版本从 2.18.1 降为 1.29.2。

六、访问

http://IP:8088/superset/
用户密码:admin
密码:admin

七、汉化

docker cp superset_app:/app/superset/config.py /root
vi config.py
# Setup default language
BABEL_DEFAULT_LOCALE = "zh"
# Your application default translation path
BABEL_DEFAULT_FOLDER = "superset/translations"
# The allowed translation for you app
LANGUAGES = {
    "en": {"flag": "us", "name": "English"},
    "es": {"flag": "es", "name": "Spanish"},
    "it": {"flag": "it", "name": "Italian"},
    "fr": {"flag": "fr", "name": "French"},
    "zh": {"flag": "cn", "name": "Chinese"},
    "ja": {"flag": "jp", "name": "Japanese"},
    "de": {"flag": "de", "name": "German"},
    "pt": {"flag": "pt", "name": "Portuguese"},
    "pt_BR": {"flag": "br", "name": "Brazilian Portuguese"},
    "ru": {"flag": "ru", "name": "Russian"},
    "ko": {"flag": "kr", "name": "Korean"},
    "sk": {"flag": "sk", "name": "Slovak"},
    "sl": {"flag": "si", "name": "Slovenian"},
    "nl": {"flag": "nl", "name": "Dutch"},
}
# Turning off i18n by default as translation in most languages are
# incomplete and not well maintained.
#LANGUAGES = {}

重点是设置:
BABEL_DEFAULT_LOCALE = “zh”
和屏蔽(不屏蔽默认关闭国际化多语言服务):
#LANGUAGES = {}

将文件拷贝回容器:

docker cp /root/config.py superset_app:/app/superset/config.py

进入容器:

docker exec -it --user root superset_app /bin/bash

编译messages.po文件:

cd superset
pybabel compile -d translations

退出,重启 superset:
docker restart ce87640911d6(superset-app 的 容器 id)

八、免登录配置

docker cp superset_app:/app/superset/config.py /root
vi config.py

修改:

WTF_CSRF_ENABLED = False
HTTP_HEADERS: Dict[str, Any] = {}
PUBLIC_ROLE_LIKE: Optional[str] = "Gamma"

将文件拷贝回容器:

docker cp /root/config.py superset_app:/app/superset/config.py

进入容器:

docker exec -it --user root superset_app /bin/bash

执行:文章来源地址https://www.toymoban.com/news/detail-458299.html

superset init

到了这里,关于CentOS7下使用docker-compose安装部署superset的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • centos7使用docker compose部署ELK

    说明:1、一定要先不要配置那么多配置文件,去除掉一些,先让docker compose启动相关服务能访问的时候,使用拷贝方法,把相关的配置文件拷贝出来在外面修改,这样保险一些,不然容易配置文件错误无法启动问题  2、作者测试ELK版本(7.6.2)是可以通过下面步骤配置成功,

    2024年02月07日
    浏览(59)
  • 如何在CentOS使用docker-compose部署Apache Superset并实现公网访问

    Superset是一款由中国知名科技公司开源的“现代化的企业级BI(商业智能)Web应用程序”,其通过创建和分享dashboard,为数据分析提供了轻量级的数据查询和可视化方案。Superset在数据处理和可视化方面具有强大的功能,能够满足企业级的数据分析需求,并为用户提供直观、灵

    2024年01月25日
    浏览(72)
  • Centos 7 部署Docker CE和docker-compose教程

    ①、安装依赖包 ②、设置yum源 ③、生成并更新系统中的软件包缓存 ④、安装、启动、并设置Docker开机自启 Docker 启动命令 Docker 容器命令 Docker 镜像命令 可选。Docker 官方提供的默认镜像源位于海外,可能下载会很慢,可以通过配置国内的镜像源,加速下载。 ①、使用文本编

    2024年02月07日
    浏览(43)
  • centos安装docker-compose

    docker compose是用于定义和运行多容器docker应用程序的工具,compose 通过一个配置文件来管理多个docker容器。可以使用docker-compose.yml脚本来启动、停止、重启应用,进行docker容器的编排和管理。但是docker compose并没有实现容器的负载均衡,还需要借助其他工具实现。 docker官网地址

    2024年02月13日
    浏览(42)
  • 【Docker】Centos安装docker-compose

    直接从GitHub下载docker到本地的/usr/local/bin/目录下,赋予读写权限,检查,就可以使用了; 下载链接 https://github.com/docker/compose/releases/

    2024年02月13日
    浏览(48)
  • CentOS 安装 docker 以及 docker-compose

    系统:CentOS  docker官网:Install Docker Engine on CentOS | Docker Documentation ##卸载之前的docker(有则卸载) sudo yum remove docker                   docker-client                   docker-client-latest                   docker-common                   docker-latest                  

    2024年02月07日
    浏览(59)
  • CentOS上安装docker-compose

    简介 docker compose是用于定义和运行多容器docker应用程序的工具,compose 通过一个配置文件来管理多个docker容器。可以使用docker-compose.yml脚本来启动、停止、重启应用,进行docker容器的编排和管理。但是docker compose并没有实现容器的负载均衡,还需要借助其他工具实现。 安装 do

    2024年02月14日
    浏览(54)
  • Centos安装指定docker版本和docker-compose

    目录 一. 直接安装Docker最新镜像源 1. 卸载旧版本的Docker: 2. 安装依赖包: 3. 添加Docker源: 4. 安装Docker: 5. 启动Docker服务: 6. 验证Docker是否安装成功: 二、指定Docker版本安装  1. 查看yum源支持的docker版本  2. 安装指定版本Docker (以19.03.9-3.el7为例) 3. 查看docker版本 三、卸

    2024年02月15日
    浏览(45)
  • centos和Ubuntu在线安装docker、docker-compose

    1.1、设置仓库、yum更新、在线安装 1.2 开启服务 1.3 docker服务加入启动项,虽系统启动: 1.4 查看是否加入成功 显示:docker.service enabled,则设置自启成功。 1.5、查看docker存储目录 默认位置:/var/lib/docker,后续镜像和容器的相关文件都会存储在这。 如果挂盘,不想放默认位置

    2024年02月13日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包