metabase部署与实践

2024-05-06 15:04
文章标签 部署 实践 metabase

本文主要是介绍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特点
  1. 支持的数据源:Postgres、MySQL、Druid、SQL Server、Redshift、MongoDB、Google BigQuery、SQLite、H2、Oracle、Vertica、Presto、Snowflake、SparkSQL。
  2. 数据准备方式:支持 SQL 查询、简单查询和自定义查询。
  3. 支持的图表类型:曲线、柱状、条形、饼图、面积图、组合图、地图、漏斗、散点、仪表盘等
  4. 邮件报警:可以使用已有查询配置数据阈值报警,发送邮件。
  5. 仪表板功能:支持参数传递、一键全屏、公开分享、iframe 嵌入、定时刷新
  6. 用户集成:LDAP、OAuth2
  7. 权限:支持按数据源或者报表文件夹分配权限给用户组。

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部署与实践的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/964666

相关文章

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

MySQL分库分表的实践示例

《MySQL分库分表的实践示例》MySQL分库分表适用于数据量大或并发压力高的场景,核心技术包括水平/垂直分片和分库,需应对分布式事务、跨库查询等挑战,通过中间件和解决方案实现,最佳实践为合理策略、备... 目录一、分库分表的触发条件1.1 数据量阈值1.2 并发压力二、分库分表的核心技术模块2.1 水平分

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

SpringBoot通过main方法启动web项目实践

《SpringBoot通过main方法启动web项目实践》SpringBoot通过SpringApplication.run()启动Web项目,自动推断应用类型,加载初始化器与监听器,配置Spring... 目录1. 启动入口:SpringApplication.run()2. SpringApplicat