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实现了写了…...
python-dateutil - 强大的日期时间解析与计算工具
一、什么是python-dateutil? python-dateutil 是一个用于扩展标准库 datetime 模块的 Python 库。 它可以帮助你: 灵活地解析各种格式的日期时间字符串。进行复杂的日期时间计算,例如计算两个日期之间的相对时间。处理时区信息,…...
CLIP-GmP-ViT-L-14真实案例:医学影像报告关键词→对应CT/MRI图精准检索
CLIP-GmP-ViT-L-14真实案例:医学影像报告关键词→对应CT/MRI图精准检索 1. 项目背景与价值 在医疗影像诊断领域,医生经常需要根据影像报告中的关键词快速定位到对应的CT或MRI图像片段。传统方法依赖人工标注和检索,效率低下且容易出错。CLI…...
vue3-composition-admin TypeScript最佳实践:类型安全与开发效率的完美平衡
vue3-composition-admin TypeScript最佳实践:类型安全与开发效率的完美平衡 【免费下载链接】vue3-composition-admin 🎉 基于vue3 的管理端模板(Vue3 TS Vuex4 element-plus vue-i18n-next composition-api) vue3-admin vue3-ts-admin 项目地址: http…...
Apache Arrow Rust社区与生态:参与开源项目的最佳路径
Apache Arrow Rust社区与生态:参与开源项目的最佳路径 【免费下载链接】arrow-rs Apache Arrow Rust: 一个Rust语言实现的Apache Arrow数据交换格式,可用于高效地在不同计算引擎之间传输和操作大规模数据。它支持多种数据类型和编码方式,并提…...
易语言实现阶乘与组合数计算
是的,我听说过易语言,它是一款面向中文使用者的编程语言,以其直观的中文语法和图形化界面开发能力而著称。 一、 数学概念解析 在深入编程实现前,我们先明确两个基础的数学概念。 1. 阶乘 阶乘 是所有小于及等于该数的正整数的…...
PdgCntEditor三步搞定PDF书签目录自动生成
1. 为什么你需要PDF书签目录? 每次打开几百页的PDF文档,像无头苍蝇一样滑动滚动条找内容?这种体验我太懂了。上周处理一份300多页的技术手册,光是翻目录就花了半小时,直到我发现PdgCntEditor这个神器。它能把杂乱无章…...
工业相机+Python视觉系统崩溃频发?(产线停机损失超¥8600/小时的5个隐藏代码陷阱)
第一章:工业相机视觉系统崩溃的根源诊断工业相机视觉系统在产线部署中一旦突发崩溃,往往表现为图像丢失、帧率归零、设备离线或软件进程异常终止。此类故障表面随机,实则多由底层软硬件协同失配引发,需从驱动层、通信协议、资源调…...
OpenClaw自动化测试:Qwen3.5-9B在API接口校验中的实战应用
OpenClaw自动化测试:Qwen3.5-9B在API接口校验中的实战应用 1. 为什么选择OpenClaw做接口自动化测试 去年接手一个个人项目时,我遇到了接口测试的痛点:每次后端更新都要手动验证几十个API,不仅耗时还容易遗漏边缘case。尝试过Pos…...
Spring Boot实战:5分钟搞定CORS跨域配置(含@CrossOrigin详解)
Spring Boot实战:5分钟搞定CORS跨域配置(含CrossOrigin详解) 现代Web开发中,前后端分离架构已成为主流选择。这种架构下,前端应用运行在一个域名下,而后端API服务则部署在另一个域名。当浏览器尝试从前端向…...
Spring Framework测试框架完整指南:从单元测试到集成测试的10个最佳实践
Spring Framework测试框架完整指南:从单元测试到集成测试的10个最佳实践 【免费下载链接】spring-framework spring-projects/spring-framework: 一个基于 Java 的开源应用程序框架,用于构建企业级 Java 应用程序。适合用于构建各种企业级 Java 应用程序…...
