metabase部署与实践
1. 项目目标
(1)了解metabase特点
(2)熟练部署metabase工具
(3)掌握metabase基本使用
2. 项目准备
2.1. 规划节点
主机名 | 主机IP | 节点规划 |
metabase | 10.0.1.141 | metabase |
2.2. 基础准备
系统镜像:CentOS 7.9
安装包下载网址:http://downloads.metabase.com/v0.42.4/metabase.jar
环境准备:Jdk8,MySQL环境
3. 项目实施
3.1. metabase入门
3.1.1. metabase特点
- 支持的数据源:Postgres、MySQL、Druid、SQL Server、Redshift、MongoDB、Google BigQuery、SQLite、H2、Oracle、Vertica、Presto、Snowflake、SparkSQL。
- 数据准备方式:支持 SQL 查询、简单查询和自定义查询。
- 支持的图表类型:曲线、柱状、条形、饼图、面积图、组合图、地图、漏斗、散点、仪表盘等
- 邮件报警:可以使用已有查询配置数据阈值报警,发送邮件。
- 仪表板功能:支持参数传递、一键全屏、公开分享、iframe 嵌入、定时刷新
- 用户集成:LDAP、OAuth2
- 权限:支持按数据源或者报表文件夹分配权限给用户组。
3.2. metabase安装部署
下载metabase.jar
mkdir /opt/metabase
cd /opt/metabase
curl -O http://downloads.metabase.com/v0.42.4/metabase.jar
安装jdk
yum install -y java-1.8.0-openjdk.x86_64
安装MySQL
MySQL 8.0的三种安装方式
安装metabase
java -jar metabase.jar
或者后台运行
nohup java -jar metabase.jar > /opt/metabase/run.log 2>&1 &
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
访问metabase:ip:3000
metabase也可以使用docker快速开始:
docker run -d -p 3000:3000 metabase/metabase
3.3. metabase的基础使用
1)metabase基本配置
选择使用的语言
设置管理员用户
选择使用的数据库,这里我选择使用MySQL
导入准备好的数据库表:
MySQL示例数据库
mysql -uroot -p000000 < mysqldemo.sql
输入数据库相关信息。
使用MySQL8.0公钥问题,需要添加allowPublicKeyRetrieval=true才能连接成功。
连接时会出现没有权限连接数据库的问题,解决方法。
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;
成功部署metabase
2)简单查询
操作界面设计得非常简洁易用,用户只需通过鼠标点击就能轻松获取所需信息,无需掌握复杂的数据库查询语言,非常适合初学者使用。
添加新的question(疑问)使用刚刚添加的数据库mysqldemo数据库
添加筛选的内容,比如统计平均的信用额度。
查看信用额度的分配情况
可视化使用柱状图查看。
单击保存,设置这个图表的名字和描述即可保存。
3)添加新的仪表盘
单击 新的 -> 仪表盘
设置仪表盘名字,描述,合集后单击创建。
单击编辑仪表盘,即可添加需要的图表。
单击需要的图表即可添加到仪表盘。
4)SQL原生查询
单击 新的 -> SQL查询
查询查找职位名称为Sales Rep的员工:
SELECTlastname,firstname,jobtitle
FROMemployees
WHEREjobtitle = 'Sales Rep';
可把jobtitle变成变量来编辑,可以添加字段过滤器。
SELECTlastname,firstname,jobtitle
FROMemployees
WHEREjobtitle = {{jobtitle}};
单击保存即可保存图表。
5)用户权限管理
单击 设置齿轮图表 -> 管理员设置
单击 人员 -> 邀请某人,添加人员。
填入用户信息后单击 创建。
生成了一个临时密码,单击显示可以查看密码,也可以复制。
单击 人员 -> 分组 ->创建分组
这里添加了一个“运维部”分组
把刚刚创建的人员添加到运维部。
单击 权限 -> 查看运维部权限
根据需求配置权限
也可以单独授权某个表的权限。
4. 项目总结
本博客简要介绍了metabase这个BI工具,使用两种方法来部署metabase,并简单介绍了metabase的使用。
相关文章:

metabase部署与实践
1. 项目目标 (1)了解metabase特点 (2)熟练部署metabase工具 (3)掌握metabase基本使用 2. 项目准备 2.1. 规划节点 主机名 主机IP 节点规划 metabase 10.0.1.141 metabase 2.2. 基础准备 系统镜…...
nacos v2.2.3 docker简单安装使用
nacos v2.2.3 docker简单安装使用 Nacos 官方文档: https://nacos.io/zh-cn/docs/v2/quickstart/quick-start.html 控制台: http://127.0.0.1:8848/nacos/ 初始用户名、密码: 账号:nacos 密码:nacos 启动docker…...
java设计模式-生成器模式
文章目录 生成器模式(Builder)1、目的和适用场景2、角色和职责3、实现步骤4、示例15、示例26、优点7、示例场景 生成器模式(Builder) 生成器模式(Builder Pattern)是一种创建型设计模式,它用于…...
《前端面试题》- TypeScript - TypeScript的优/缺点
问题 简述TypeScript的优/缺点 答案 优点 增强了代码的可读性和可维护性包容性,js可以直接改成ts,ts编译报错也可以生成js文件,兼容第三方库,即使不是ts编写的社区活跃,完全支持es6 缺点 增加学习成本增加开发成…...

微服务---feign调用服务
目录 Feign简介 Feign的作用 Feign的使用步骤 引入依赖 具体业务逻辑 配置日志 在其它服务中使用接口 接着上一篇博客,我们讲过了nacos的基础使用,知道它是注册服务用的,接下来我们我们思考如果一个服务需要调用另一个服务的接口信息&…...
刷题笔记 - 滑动窗口
文章目录 滑动窗口最长无重复子串最小覆盖子串串联所有单词的子串长度最小的子数组滑动窗口最大值字符串的排列最小区间 滑动窗口 所有题目来自leetcode的回答:https://leetcode.cn/problems/longest-substring-without-repeating-characters/solutions/3982/hua-d…...

Docker搭建LNMP+Wordpress的实验
目录 一、项目的介绍 1、项目需求 2、服务器环境 3、任务需求 二、Linux系统基础镜像 三、部署Nginx 1、建立工作目录 2、编写Dockerfile 3、准备nginx.conf配置文件 4、设置自定义网段和创建镜像和容器 5、启动镜像容器 6、验证nginx 三、Mysql 1、建立工作目录…...

使用Python Pandas实现两表对应列相加(即使表头不同)
目录 引言 Pandas库简介 实现对应列相加 步骤一:加载数据 步骤二:重命名列 步骤三:对应列相加 步骤四:保存结果 案例分析 结论 引言 在数据分析和处理的日常工作中,我们经常会遇到需要将来自不同数据源的数据…...

Linux 虚拟主机切换php版本及参数
我使用的Hostease的Linux虚拟主机产品,由于网站程序需要支持高版本的PHP,程序已经上传到主机,但是没有找到切换PHP以及查看PHP有哪些版本的位置,因此咨询了Hostease的技术支持,寻求帮助了解到可以实现在cPanel面板上找到此切换PHP版本的按钮&…...
Content-Type详解
...

GaussDB数据库SQL系列-复合查询
目录 一、前言 二、复合查询基础 三、实际应用示例 1、使用UNION合并查询结果 2、使用INTERSECT找出共同元素 3、使用EXCEPT排除特定结果 四、高级技巧 1、子查询实例 2、JOIN的应用 五、总结 一、前言 GaussDB是华为自主创新研发的分布式关系型数据库,具…...

【Unity】修改模型透明度
在 Unity 中修改模型透明度主要有两种方法:通过材质和通过着色器。以下是两种方法的步骤和解释: 方法 1:通过材质 在 Unity 编辑器中,选择你想要修改透明度的模型。在 Inspector 窗口中,找到模型的 Renderer 组件&am…...

第五篇:通信脉络:探索计算机外设与总线体系的精髓
通信脉络:探索计算机外设与总线体系的精髓 1 引言 在这个技术日新月异的时代,理解计算机系统的基本构成要素 —— 总线和外设 —— 对于每个从事技术工作的人来说都是至关重要的。这些组件不仅是计算机通信的基石,也直接影响着系统的性能、效…...

24.5.5(离散化+树状数组,线段树)
星期一: dp题单 背包 第四题 混可乐 cf传送门 思路:条件可演化为每种可乐值为 ai-n,选最少的可乐使总和为0(具体可看官方题解 到这会发现背包并不适合了,其实这是道bfs伪装的背包…...

C语言 | Leetcode C语言题解之第69题x的平方根
题目: 题解: int mySqrt(int x) {long int i 0;for(i0;;i){long int a i*i;long int b (i1)*(i1);if(a < x&&b > x){break;}}return i; }...

静态分配IP,解决本地连接不上Linux虚拟机的问题
在Window环境下,使用远程终端工具连接不了VMware搭建的Linux虚拟机(CentOS 7),并且在命令行ping不通该Linux虚拟机的IP地址。下面通过配置网关解决本地与Linux虚拟机连接问题: 1 查看虚拟机网关地址 在VMware虚拟机上…...
每日JAVA高级面试题
Java 高级面试问题及答案 以下是几个Java高级面试中可能会问到的问题,包括问题、答案以及一些探讨过程。 问题1: 请解释Java中的多线程以及线程池的使用场景和优势 答案: Java中的多线程允许程序执行多个任务,从而提高应用程序的响应速度和…...

修改JupyterNotebook文件存储位置
Jupyter Notebook 1、通过AnaConda安装Jupyter Notebok 2、在开始菜单里找到并打开Anaconda Prompt,输入如下命令,然后执行。 jupyter notebook --generate-config4、打开以下文件 找到 C:/Userzh/.../.jupyter 打开 jupyter_notebook_config.py 取消…...
python Flask路由系统如何影响应用性能的一些关键点
Flask的路由系统对应用性能的影响主要体现在路由匹配和分发请求的效率上。以下是关于Flask路由系统如何影响应用性能的一些关键点: 路由匹配方式:Flask支持精准匹配和模糊匹配两种方式。精准匹配是指URL中的路径和定义的路由规则完全匹配,而…...

nodejs的ws+vue3编写聊天室的demo
nodejs编写ws服务是非常简单高效的,nodejs有众多的实现ws的库,如ws,SocketIO等,nodejs的事件线程是单线程的,所以不要在事件线程内做阻塞性的操作,耗时的操作交给工作线程或者子进程操作。 我使用nodejsvue3实现了写了…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...

国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...

Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
Xen Server服务器释放磁盘空间
disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...

JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机
这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...