Metabase:修订间差异

来自Gea-Suan Lin's Wiki
跳到导航 跳到搜索
此页面具有访问限制。如果您看见此消息,则说明您没有权限访问此页面。
标签已被回退
标签手工回退
第86行: 第86行:


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
sudo systemctl daemon-reload; sudo systemctl enable metabase.service; sudo service metabase start
sudo systemctl daemon-reload; sudo systemctl enable metabase.service
</syntaxhighlight>
</syntaxhighlight>



2023年9月6日 (三) 21:13的版本

Metabase是一套BI视觉化工具。

安装

Metabase的硬件需求不高[1][2],我自己在GCE上用1GB RAM的机器跑还可以。

Metabase需要Java 11+的版本[3],而在Ubuntu 20.04与22.04下预设就是Java 11,所以可以直接用内建的default-jre并且取得已经编译好的jar档:

sudo apt install -y default-jre; sudo apt clean; mkdir ~/metabase; cd ~/metabase; wget -O metabase-0.47.0.jar https://downloads.metabase.com/v0.47.0/metabase.jar; ln -s metabase-0.47.0.jar metabase.jar

执行

预设的模式是让使用者尝鲜,不需要使用外部的数据库储存资料,会使用Java的H2存放资料:

java -jar metabase.jar

如果使用PostgreSQL,可以建立一个start.sh,将连线资讯指定到环境变数[4],这边另外指定了Port 8000为网页的接口:

#!/bin/bash

export MB_DB_TYPE=postgres
export MB_DB_DBNAME=metabase
export MB_DB_PORT=5432
export MB_DB_USER=metabase
export MB_DB_PASS=metabasepassword
export MB_DB_HOST=db-metabase.srv.example.net
export MB_JETTY_PORT=8000

java -jar metabase.jar

设定

先设定Metabase的log档案/etc/rsyslog.d/metabase

#
if $programname == 'metabase' then /var/log/metabase.log
& stop

开机透过systemd自动执行Metabase有两个档案要设定,一个是/etc/systemd/system/metabase.service

[Unit]
Description=Metabase server
After=syslog.target
After=network.target

[Service]
WorkingDirectory=/home/service-metabase/metabase
ExecStart=/usr/bin/java -jar /home/service-metabase/metabase/metabase.jar
EnvironmentFile=/etc/default/metabase
User=service-metabase
Type=simple
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=metabase
SuccessExitStatus=143
TimeoutStopSec=120
Restart=always

[Install]
WantedBy=multi-user.target

另外一个是/etc/default/metabase

#
MB_DB_TYPE=postgres
MB_DB_DBNAME=metabase
MB_DB_PORT=5432
MB_DB_USER=metabase
MB_DB_PASS=metabasepassword
MB_DB_HOST=db-db-metabase.srv.example.net
MB_JETTY_PORT=8000

档案设定完后需要指定开机跑起来:

sudo systemctl daemon-reload; sudo systemctl enable metabase.service

参考资料

  1. Minimum / Recommended Hardware Requirement. 2017-12-12 [2023-09-06] (English). 
  2. Metabase: RAM Usage. 2019-11-19 [2023-09-06] (English). 
  3. Java versions. [2023-09-06] (English). 
  4. Environment variables. [2023-09-06] (English). 

外部链接