如何在Ubuntu20.04部署Metabase
Metabase是一款简单的开源BI工具。Metabase的两个核心概念是问题及其对应的答案,Metabase一切都基于问题和答案。Metabase有以下特点:
- 在五分钟内完成设置(我们不是在开玩笑)。
- 让团队中的任何人在不了解SQL的情况下提出问题。
- 更复杂的查询可使用SQL编辑器实现。
- 使用过滤器、自动刷新、全屏和自定义点击行为构建美观的交互式仪表板。
- 创建清理、注释和组合原始表的模型。
- 定义规范的细分和指标供您的团队使用。
- 使用仪表板订阅按计划将数据发送到Slack或电子邮件。
- 设置警报,让Metabase在您的数据更改时通知您。
- 在您的应用程序甚至整个元数据库中嵌入图表和仪表板。
官方支持的数据库,以下数据库的官方驱动程序是由Metabase团队进行维护的。付费计划的客户将获得官方支持。
- BigQuery (Google Cloud Platform)
- Druid
- Google Analytics
- H2
- MongoDB (version 3.6 or higher)
- MySQL (version 5.7 or higher, as well as MariaDB version 10.2 or higher)
- Oracle
- PostgreSQL
- Presto
- Redshift (Amazon Web Services)
- Snowflake
- SparkSQL
- SQL Server
- SQLite
- Vertica
安装依赖
本文使用PostgreSQL数据库作为Metabase的数据库,使用以下命令安装依赖:
1 | sudo apt-get install openjdk-17-jdk postgresql postgresql-contrib nginx |
创建PostgreSQL数据库和数据库用户
通过以下命令登录到PostgreSQL数据库:
1
sudo -u postgres psql
创建Superset数据库
1
CREATE DATABASE metabase_db;
创建数据库用户
1
CREATE USER metabase_user WITH PASSWORD 'password';
修改数据库链接参数
1
2
3ALTER ROLE metabase_user SET client_encoding TO 'utf8';
ALTER ROLE metabase_user SET default_transaction_isolation TO 'read committed';
ALTER ROLE metabase_user SET timezone TO 'UTC';superset_user访问管理superset数据库
1
GRANT ALL PRIVILEGES ON DATABASE metabase_db TO metabase_user;
配置完成后使用以下命令退出PostgreSQL交互界面
1
\q
安装和配置Metabase
下载最新版的Metabase jar包,当前最新的版本是v0.43.1
1
wget https://downloads.metabase.com/v0.43.1/metabase.jar
创建Metabase配置文件
mkdir -p /etc/metabase && sudo vim /etc/metabase/config
1
2
3
4
5
6
7
8
9
10
11MB_PASSWORD_COMPLEXITY=strong
MB_PASSWORD_LENGTH=10
MB_JETTY_HOST=127.0.0.1
MB_JETTY_PORT=3000
MB_DB_TYPE=postgres
MB_DB_DBNAME=metabase_db
MB_DB_PORT=5432
MB_DB_USER=metabase_user
MB_DB_PASS=password
MB_DB_HOST=localhost
MB_EMOJI_IN_LOGS=false- MB_PASSWORD_COMPLEXITY:密码复杂度,可填内容
<weak|normal|strong>
; - MB_PASSWORD_LENGTH:密码最小长度;
- MB_JETTY_HOST:Metabase绑定的地址;
- MB_JETTY_HOST:Metabase监听的端口;
- MB_DB_TYPE:数据库类型,可填内容
<postgres|mysql|h2>
; - MB_DB_DBNAME:数据库名称;
- MB_DB_PORT:数据库端口;
- MB_DB_USER:数据库用户;
- MB_DB_PASS:数据库用户密码;
- MB_DB_HOST:数据库地址;
- MB_EMOJI_IN_LOGS:日志中包含表情符号,默认情况下true,可填内容
<true|false>
;
- MB_PASSWORD_COMPLEXITY:密码复杂度,可填内容
创建系统日志配置文件
/etc/rsyslog.d/metabase.conf
1
2if $programname == 'metabase' then /var/log/metabase.log
& stop重启系统日志
1
sudo systemctl restart rsyslog.service
创建Metabase服务
/etc/systemd/system/metabase.service
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20[Unit]
Description=Metabase server
After=syslog.target
After=network.target
[Service]
WorkingDirectory=/home/metabase/
ExecStart=/usr/bin/java -jar /home/metabase/metabase.jar
EnvironmentFile=/etc/metabase/config
User=metabase
Type=simple
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=metabase
SuccessExitStatus=143
TimeoutStopSec=120
Restart=always
[Install]
WantedBy=multi-user.target配置完成后执行以下命令
1
sudo systemctl daemon-reload
配置Nginx
1
2
3
4
5
6
7
8server {
listen 80;
listen [::]:80;
server_name your.domain.com;
location / {
proxy_pass http://127.0.0.1:3000;
}
}启动Metabase服务
1
sudo systemctl start metabase.service
初始化
打开页面首先进入到以下界面,点击按钮开始初始化实例
配置语言
配置管理员用户
添加数据库,这里我们先不添加
配置匿名信息
配置完成
配置完成后
如何在Ubuntu20.04部署Metabase