运行 Metabase OSS JAR 文件

我们建议在 Metabase 云端版上运行 Metabase。如果您需要自托管,您*可以*将 Metabase 作为独立的 JAR 文件运行,但我们建议在 Docker 容器中运行 Metabase

要通过 JAR 文件运行免费的 Metabase 开源版本,您需要在系统上安装 Java 运行时环境 (JRE)。

如果您有 Metabase 专业版或企业版的许可证令牌,请参阅激活您的 Metabase 商业许可证

快速入门

快速入门旨在在本地运行 Metabase。有关在生产环境中运行 Metabase的说明,请参见下文。

如果您已安装 Java

  1. 下载 Metabase OSS 的 JAR 文件。如果您使用专业版企业版计划,请下载企业版 JAR 文件
  2. 创建一个新目录并将 Metabase JAR 文件移入其中。
  3. 进入您新的 Metabase 目录并运行 JAR 文件。
java --add-opens java.base/java.nio=ALL-UNNAMED -jar metabase.jar

Metabase 将在启动时在终端中记录其进度。等到您看到“Metabase Initialization Complete”(Metabase 初始化完成)后,访问 http://localhost:3000/setup

如果您使用的是专业版或企业版 Metabase,请务必激活您的许可证

本地安装

如果您只是想试用 Metabase,或者在本地机器上使用 Metabase,Metabase 附带一个默认的应用程序数据库供您使用。此设置不适用于生产环境。如果您打算在组织中实际运行 Metabase,请参阅生产环境安装

以下说明与上述快速入门相同,只是每个步骤提供了更多上下文。

1. 安装 Java JRE

您可能已经安装了 Java。要检查版本,请打开终端并运行

java -version

如果未安装 Java,则需要先安装 Java 才能运行 Metabase。我们建议使用 Eclipse Temurin 提供的 JRE 21 版本和 HotSpot JVM。您可以在任何支持 Java 21 的地方运行 Metabase。不支持更早的 Java 版本。特定的处理器架构无关紧要(尽管我们只测试 x86 和 ARM 架构的 Metabase)。

2. 下载 Metabase

下载 JAR 文件

如果您想安装 Metabase 的专业版或企业版,请参阅激活您的 Metabase 商业许可证

3. 创建新目录并将 Metabase JAR 文件移入其中

当您运行 Metabase 时,Metabase 会创建一些新文件,因此在运行之前将 Metabase Jar 文件放入新目录中非常重要(将其从下载文件夹中移出并放入新目录中)。

在 Posix 系统上,命令大致如下:

假设您下载到 /Users/person/Downloads

mkdir ~/metabase

然后

mv /Users/person/Downloads/metabase.jar ~/metabase

4. 进入新的 Metabase 目录并运行 JAR 文件

进入您在步骤 2 中创建的目录

cd ~/metabase

现在 Java 已经正常工作,您可以从终端运行 JAR 文件:

java --add-opens java.base/java.nio=ALL-UNNAMED -jar metabase.jar

Metabase 将使用默认设置启动。您应该会看到终端窗口中开始运行一些日志条目,显示应用程序启动进度。一旦 Metabase 完全启动,您将看到类似以下的确认信息:

...
06-19 10:29:34 INFO metabase.task :: Initializing task CheckForNewVersions
06-19 10:29:34 INFO metabase.task :: Initializing task SendAnonymousUsageStats
06-19 10:29:34 INFO metabase.task :: Initializing task SendAbandomentEmails
06-19 10:29:34 INFO metabase.task :: Initializing task SendPulses
06-19 10:29:34 INFO metabase.task :: Initializing task SendFollowUpEmails
06-19 10:29:34 INFO metabase.task :: Initializing task TaskHistoryCleanup
06-19 10:29:34 INFO metabase.core :: Metabase Initialization COMPLETE

至此,您已准备就绪!您可以通过 3000 端口访问您的新 Metabase 服务器,最可能在 http://localhost:3000

您可以通过在运行 JAR 文件之前设置 MB_JETTY_PORT 环境变量来使用 3000 以外的端口。

如果您使用的是 Metabase 专业版或企业版,请务必激活您的许可证

生产环境安装

步骤与上述步骤类似,但有两个重要区别:如果您想在生产环境中运行 Metabase,您需要:

如果您更喜欢使用 Docker,请查看在 Docker 上运行 Metabase

生产应用数据库

以下是一些我们支持的数据库,可用于存储您的 Metabase 应用程序数据。

例如,假设您想使用 PostgreSQL。您需要启动并运行 PostgreSQL 服务并创建一个空数据库

createdb metabaseappdb

您可以随意命名您的应用程序数据库。无需在该数据库中创建任何表;Metabase 将为您完成此操作。您只需设置 Metabase 在启动时使用的环境变量,以便 Metabase 知道如何连接到您创建的 metabaseappdb

您将为您的 Metabase 创建一个目录,如上述本地安装步骤中所列,但当需要运行 java --add-opens java.base/java.nio=ALL-UNNAMED -jar 命令来启动 JAR 文件时,您需要在命令前加上一些环境变量,以告诉 Metabase 如何连接到您创建的 metabaseappdb

export MB_DB_TYPE=postgres
export MB_DB_DBNAME=metabaseappdb
export MB_DB_PORT=5432
export MB_DB_USER=username
export MB_DB_PASS=password
export MB_DB_HOST=localhost
java --add-opens java.base/java.nio=ALL-UNNAMED -jar metabase.jar

上述命令将 Metabase 连接到您的 Postgres 数据库 metabaseappdb,通过 localhost:5432,使用用户帐户 username 和密码 password。如果您将 Metabase 作为服务运行,您将把这些环境变量放入一个单独的配置文件中。

将 Metabase JAR 作为服务运行

如果您需要在生产环境中运行 JAR 文件,则应将 Metabase 作为服务运行。将 Metabase 作为服务运行将:

  • 确保 Metabase 自动运行(并保持运行)。
  • 允许您使用非特权用户运行 Metabase(这有利于安全性)。

如何将 Metabase 设置为服务的具体说明将因您的操作系统而异。有关如何将 Metabase 设置为服务的示例,请参阅在 Debian 上运行 Metabase

迁移到生产环境安装

如果您一直使用默认的 H2 应用程序数据库运行 Metabase,并且您的团队已经创建了问题、仪表板、集合等,您需要将这些数据迁移到生产应用程序数据库。而且越早迁移越好。请参阅从 H2 数据库迁移

故障排除

如果在安装过程中遇到任何问题,请查看我们的故障排除页面

升级 Metabase

请参阅升级 Metabase

设置 Metabase

现在您已经安装了 Metabase,是时候设置它并将其连接到您的数据库了。

阅读其他 Metabase 版本的文档。

© . All rights reserved.