测试环境搭建整套大数据系统(十一:docker部署superset,无密码登录嵌入html,http改为https)

news2024/11/19 16:30:02

一:安装docker

参考文档

https://blog.csdn.net/weixin_43446246/article/details/136554243

二:安装superset

  1. 下载镜像。
拉取镜像(docker pull amancevice/superset)
查看镜像是否下载完成(docker images)

在这里插入图片描述
2. 安装容器。

mkdir /opt/docker/superset/ -p
openssl rand -base64 42
记下这个生成的代码,填写到下面文件 SECRET_KEY
/opt/docker/superset/superset_config.py
#Superset specific config
ROW_LIMIT = 5000

SUPERSET_WEBSERVER_PORT = 8088

# Flask App Builder configuration
# Your App secret key will be used for securely signing the session cookie
# and encrypting sensitive information on the database
# Make sure you are changing this key for your deployment with a strong key.
# Alternatively you can set it with `SUPERSET_SECRET_KEY` environment variable.
# You MUST set this for production environments or the server will not refuse
# to start and you will see an error in the logs accordingly.
SECRET_KEY = 'xxxxxxxxxxxxxxxxxxx'

# 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
# The check_same_thread=false property ensures the sqlite client does not attempt
# to enforce single-threaded access, which may be problematic in some edge cases
SQLALCHEMY_DATABASE_URI = 'mysql://superset:superset@192.168.50.60/superset'

# Flask-WTF flag for CSRF
WTF_CSRF_ENABLED = True
# Add endpoints that need to be exempt from CSRF protection
WTF_CSRF_EXEMPT_LIST = []
# A CSRF token that expires in 1 year
WTF_CSRF_TIME_LIMIT = 60 * 60 * 24 * 365

# Set this API key to enable Mapbox visualizations
MAPBOX_API_KEY = ''
LANGUAGES = { 'en': {'flag': 'us', 'name': 'English'}, 'zh': {'flag': 'cn', 'name': 'Chinese'}, }
  1. 创建superset容器,并挂载对应配置信息
  docker run --name superset -d -p 8088:8088 -v /opt/docker/superset/superset_config.py:/etc/superset/superset_config.py -v /opt/docker/superset/data:/var/lib/superset amancevice/superset
  1. 初始化数据库。
    在mysql中,运行下面代码
CREATE DATABASE superset DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
DROP USER superset
create user superset@'%' identified WITH mysql_native_password BY 'superset';
grant all privileges on *.* to superset@'%' with grant option;
flush privileges;

在这里插入图片描述
5. 初始化数据库

docker exec -it superset superset db upgrade

查看数据库中,是否有ab_permission_view_role表,若没有,重新初始化数据库。
在这里插入图片描述
6. 创建superset管理员用户

docker exec -it superset superset fab create-admin

全部输入admin
7. 初始化superset

docker exec -it superset superset init 
  1. 启动服务
docker exec -it superset superset run --with-threads --reload --debugger
  1. 查看端口
    ip:8088
    账号:admin
    密码:admin
  2. 选择语言,链接mysql和es
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

三:无密码登录

  1. 将config.py复制出来
docker cp 84231c7c3a08:/usr/local/lib/python3.8/site-packages/superset/config.py /home
  1. 修改config.py
"DASHBOARD_NATIVE_FILTERS": True,
 
"DASHBOARD_CROSS_FILTERS": True,
 
"DASHBOARD_NATIVE_FILTERS_SET": True,

PUBLIC_ROLE_LIKE: Optional[str] = "Gamma"

CSV_EXPORT = {"encoding": "utf-8-sig"}
  1. 传文件进docker内部。
docker cp /home/config.py 84231c7c3a08:/usr/local/lib/python3.8/site-packages/superset/
  1. 重启superset
docker stop 84231c7c3a08
docker start 84231c7c3a08
  1. 配置页面
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

四:http改为https

  1. 下载nginx
sudo apt install nginx
  1. 修改文件
vim /etc/nginx/nginx.conf
server {
    listen 443 ssl;
    server_name yourdomain.com;

        ssl_certificate /opt/nignx/certificate.pem;
    ssl_certificate_key /opt/nignx/private_key.pem;
    location / {
        proxy_pass http://192.168.50.200:8088;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
sudo systemctl restart nginx

访问 https://ip 即可,会自动跳转。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1521208.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

精读《精通 console.log》

1 引言 本周精读的文章是 Mastering JS console.log like a Pro,一起来更全面的认识 console 吧! 2 概述 & 精读 console 的功能主要在于控制台打印,它可以打印任何字符、对象、甚至 DOM 元素和系统信息,下面一一介绍。 c…

Vue 3 + TypeScript 项目中全局挂载并使用工具函数

一、proxy方式 1.封装日期选择工具函数: 在untils文件夹下新建index.ts,并导出工具函数 /*** 获取不同类型日期* param:类型 dateVal: 是否指定*/ export function getSystemDate(param: any, dateVal: any) {let systemDate dateVal ? new Date(da…

【NC223888】红色和紫色

题目 红色和紫色 博弈论,想得出来思路就简单,想不出来就难。一般使用猜测法。 思路 如果小红随意取一个格子涂色,那么小紫怎么涂色才是她的最优选择呢? 假设小紫只能选择小红涂色的格子的相邻格子或者是最近斜对角的一个格子涂色…

回归学术圈,何恺明MIT第一堂AI课

大家好,3月7日,麻省理工学院电气工程与计算机科学系副教授何恺明,迈上讲台,并成功地进行了他人生中的首堂教学课程。 第一堂课 课程官网:https://advances-in-vision.github.io/ 作为麻省理工学院(MIT&am…

【算法篇】七大基于比较的排序算法精讲

目录 排序 1.直接插入排序 2.希尔排序 3.直接选择排序 4.堆排序 5.冒泡排序 6.快速排序 7.归并排序 排序 排序算法的稳定性:假设在待排序的序列中,有多个相同的关键字,经过排序后,这些关键字的先后顺序不发生改变&#…

动态规划8, 摆动序列,最长递增子序列,最长数对链

本次的题与动态规划7 的题有相似与共通之处,建议先去看 动态规划7:动态规划7 摆动序列 什么是摆动序列? 就像这种: 一个数,一个下降,上升,来回上升下降都可以叫摆动序列。 思路: …

政安晨:【深度学习处理实践】(八)—— 表示单词组的两种方法:集合和序列

咱们接着这个系列的上一篇文章继续: 政安晨:【深度学习处理实践】(七)—— 文本数据预处理https://blog.csdn.net/snowdenkeke/article/details/136697057 机器学习模型如何表示单个单词,这是一个相对没有争议的问题…

分析基于解析物理模型的E模式p沟道GaN高电子迁移率晶体管(H-FETs)

来源:Analyzing E-Mode p-Channel GaN H-FETs Using an Analytic Physics-Based Compact Mode(TED 24年) 摘要 随着近期对用于GaN互补技术集成电路(ICs)开发的p沟道GaN器件研究兴趣的激增,一套全面的模型…

算法笔记 连载中。。。

HashMap&#xff08;会根据key值自动排序&#xff09; HashMap<String, Integer> hash new HashMap<>() hash.put(15,18) hash.getOrDefault(ts, -1) //如果ts(key)存在&#xff0c;返回对应的value 否则返回-1 hashMap1.get(words1[i])1会报错&#xff0c;因…

快速高效地数据分析处理:QtiPlot for Mac中文直装版 兼容M

QtiPlot 是一个用于数据分析和可视化的跨平台科学应用程序。由于其多语言支持&#xff0c;QtiPlot 被积极用于世界各地学术机构的教学。许多研究科学家信任 QtiPlot 来分析他们的数据并发布他们的工作结果。来自各个科学领域和行业的数千名注册用户已经选择了 QtiPlot 来帮助他…

SQLiteC/C++接口详细介绍之sqlite3类(十五)

返回目录&#xff1a;SQLite—免费开源数据库系列文章目录 上一篇&#xff1a;SQLiteC/C接口详细介绍之sqlite3类&#xff08;十四&#xff09; 下一篇&#xff1a;SQLiteC/C接口详细介绍之sqlite3类&#xff08;十六&#xff09; 47.sqlite3_set_authorizer 用法&#xff…

【Preprocessing数据预处理】之Scaler

在机器学习中&#xff0c;特征缩放是训练模型前数据预处理阶段的一个关键步骤。不同的缩放器被用来规范化或标准化特征。这里简要概述了您提到的几种缩放器&#xff1a; StandardScaler StandardScaler 通过去除均值并缩放至单位方差来标准化特征。这种缩放器假设特征分布是正…

Seata 2.x 系列【9】事务会话存储模式

有道无术&#xff0c;术尚可求&#xff0c;有术无道&#xff0c;止于术。 本系列Seata 版本 2.0.0 本系列Spring Boot 版本 3.2.0 本系列Spring Cloud 版本 2023.0.0 源码地址&#xff1a;https://gitee.com/pearl-organization/study-seata-demo 文章目录 1. 概述2. 存储模…

虚拟机网络链接

在虚拟网络设置中找到如下界面&#xff1a; "子网 IP" 192.168.79.0/24 表示一个局域网络&#xff0c;它有254个可能的IP地址可供分配&#xff08;192.168.79.1到192.168.79.254&#xff09;&#xff0c;255.255.255.0 是子网掩码&#xff0c;定义了网络和主机部分。…

MySQL--深入理解MVCC机制原理

什么是MVCC&#xff1f; MVCC全称 Multi-Version Concurrency Control&#xff0c;即多版本并发控制&#xff0c;维持一个数据的多个版本&#xff0c;主要是为了提升数据库的并发访问性能&#xff0c;用更高性能的方式去处理数据库读写冲突问题&#xff0c;实现无锁并发。 什…

Cartwheel——文本生成3D动作或动画的工具

一个强大的文本转3D动画平台,用户只需通过输入文字提示即可生成视频、游戏、电影、广告、社交或VR项目所需的3D动画角色。 Cartwheel 是一个功能强大的文本到动画平台。只需键入即可为您的视频、游戏、电影、广告、社交或 VR 项目制作角色动画 定位: 定位于为用户提供简单…

Unity类银河恶魔城学习记录10-11 p99 Aliment visual effects源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释&#xff0c;可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili EntityFX.cs using System.Collections; using System.Collections.Gener…

Mysql事务+锁测试 RR行锁升级

Mysql事务锁测试 Mysql5.7 在隔离级别RR下&#xff0c;添加写锁&#xff0c;锁住一行数据&#xff0c;写锁是排它锁&#xff0c;不允许其它的读写、 另外开启一个连接&#xff0c;进行写操作&#xff0c;发现执行没有成功&#xff0c;在等待锁 查询事务表&#xff0c;有两个事…

openssl3.2 - note - Decoders and Encoders with OpenSSL

文章目录 openssl3.2 - note - Decoders and Encoders with OpenSSL概述笔记编码器/解码器的调用链OSSL_STORE 编码器/解码器的名称和属性OSSL_FUNC_decoder_freectx_fnOSSL_FUNC_encoder_encode_fn官方文档END openssl3.2 - note - Decoders and Encoders with OpenSSL 概述 …

大数据Doris(六十八):基于Doris on ES的架构实现总结

文章目录 基于Doris on ES的架构实现总结 一、Mem Join架构遗留的核心问题 二、Doris