
1 基础知识
1.1 Metabase的简介
– Metabase是一款简单、开源商业智能(BI)分析工具
– Metabase是一款支持数据快速分析和数据可视化的工具
– Metabase是支持可快速生成可视化数据视图并内嵌到应用程序中
1.2 Metabase的特点
– 支持快速配置(官方声明5分钟内可完成)
– 支持无需SQL语法基础即可通过界面交互完成数据分析任务
– 支持SQL编辑器定制更加复杂的查询
– 支持过滤器、自动刷新、全屏和自定义点击欣慰构建美观的交互仪表板
– 支持创建清理、注释和/或组合原始表的模型
– 支持定义规范的细分和指标供你的团队使用
– 支持使用仪表板订阅且按计划发送数据至Slack或电子邮件
– 支持设置警报并监视数据变更后通知
– 支持应用程序甚至在整个元数据库中嵌入图表或仪表板
1.3 支持的数据库
请参阅如下文档,
https://www.metabase.com/datasources/
1.4 安装要求
– 需要安装配置JRE环境(Java运行时环境)
– 需要Java11或更高版本
2 最佳实践
2.1 安装前的准备
2.1.1 确认openJDK安装
java -version
可见如下显示,
openjdk version "11.0.2" 2019-01-15 OpenJDK Runtime Environment 18.9 (build 11.0.2+9) OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)
另外如果尚未软装,请参阅如下章节,
2.1.2 安装数据库
详细请参阅如下文档,
2.1.3 创建应用数据库
mysql -uroot -p create database `metabase` default character set utf8mb4 collate utf8mb4_unicode_ci; create user "metabase"@"localhost" identified by "metabasepwd"; grant all privileges on `metabase`.* to `metabase`@`localhost`; flush privileges;
2.1.4 配置SELinux
setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
2.1.5 开方所需的端口
firewall-cmd --permanent --add-port 3000/tcp firewall-cmd --reload firewall-cmd --list-all
2.1.6 下载软件包
cd ~ wget https://downloads.metabase.com/v0.44.2/metabase.jar -O metabase-v0.44.2.jar
2.2 配置metabase
2.2.1 创建运行用户
groupadd -r metabase
useradd -r -s /bin/false -d /opt/metabase -g metabase metabase
2.2.2 部署应用程序
cd ~
mkdir -p /opt/metabase
mv metabase-v0.44.2.jar /opt/metabase/
chown metabase:metabase -R /opt/metabase/
chmod 775 -R /opt/metabase/
2.2.3 测试软件运行
cd /opt/metabase/
sudo -u metabase /usr/java/jdk-11.0.2/bin/java -DMB_DB_TYPE=mysql -DMB_DB_HOST=localhost -DMB_DB_DBNAME=metabase -DMB_DB_USER=metabase -DMB_DB_PASS=metabasepwd -jar /opt/metabase/metabase-v0.44.2.jar
需要注意的是,
– 以上通过“-D”参数向JAVA虚拟机传递以下环境变量,
MB_DB_TYPE=mysql MB_DB_HOST=localhost MB_DB_DBNAME=metabase MB_DB_USER=metabase MB_DB_PASS=metabasepwd
– 以上通过“-jar”参数向JAVA虚拟机传递执行的JAR包绝对路径
2.2.4 创建服务控制脚本
vim /etc/systemd/system/metabase.service
加入如下配置,
[Unit] Description=Metabase server After=syslog.target After=network.target [Service] WorkingDirectory=/opt/metabase ExecStart=/usr/java/jdk-11.0.2/bin/java -jar /opt/metabase/metabase-v0.44.2.jar EnvironmentFile=/etc/default/metabase User=metabase Type=simple StandardOutput=syslog StandardError=syslog SyslogIdentifier=metabase SuccessExitStatus=143 TimeoutStopSec=120 Restart=always [Install] WantedBy=multi-user.target
根据以上脚本的需求,我们需要使用如下命令声明如下环境变量,
vim /etc/default/metabase
加入如下配置,
MB_JETTY_HOST=0.0.0.0 MB_JETTY_PORT=3000 MB_DB_TYPE=mysql MB_DB_DBNAME=metabase MB_DB_PORT=3306 MB_DB_USER=metabase MB_DB_PASS=metabasepwd MB_DB_HOST=localhost
基于数据库的账号密码保密需求,你需要使用如下命令修改文件权限,
chmod 640 /etc/default/metabase
文件创建后,你需要使用如下命令重载服务,
systemctl daemon-reload
然后,使用如下命令启动服务并设置自启动,
systemctl start metabase.service systemctl enable metabase.service systemctl status metabase.service
2.2.5 配置应用程序日志
vim /etc/rsyslog.d/metabase.conf
加入如下配置,
if $programname == 'metabase' then /var/log/metabase/metabase.log & stop
根据以上配置的需求,我们使用如下命令创建日志目录,
mkdir -p /var/log/metabase/ chown metabase:metabase -R /var/log/metabase/ chmod 775 -R /var/log/metabase/
然后重启服务使配置生效,
systemctl restart rsyslog.service
产品介绍
============
官方GitHub
————
https://github.com/metabase/metabase
安装文档
———–
https://www.metabase.com/docs/latest/installation-and-operation/running-metabase-on-debian#create-an-unprivileged-user-to-run-metabase-and-give-him-acces-to-app-and-logs
https://www.metabase.com/docs/latest/installation-and-operation/migrating-from-h2
https://www.metabase.com/docs/latest/installation-and-operation/installing-metabase
环境变量的参考
————–
https://www.metabase.com/docs/latest/configuring-metabase/environment-variables
没有评论