运行 Metabase OSS JAR 文件
我们建议在 Metabase Cloud 上运行 Metabase。如果您需要自托管,您*可以*将 Metabase 作为独立的 JAR 运行,但我们建议在 Docker 容器中运行 Metabase。
要通过 JAR 文件运行免费的开源版本 Metabase,您的系统上需要安装 Java 运行时环境(JRE)。
如果您有 Metabase 的 Pro 或 Enterprise 版本的令牌,请参阅激活您的 Metabase 商业许可证。
快速开始
快速开始旨在本地运行 Metabase。有关在生产环境中运行 Metabase的说明,请参见下文。
如果您已安装 Java
- 下载 Metabase OSS 的 JAR 文件。如果您使用的是 Pro 或 Enterprise 计划,请下载企业版的 JAR。
- 创建一个新目录并将 Metabase JAR 移入其中。
- 进入您的新 Metabase 目录并运行 JAR。
java --add-opens java.base/java.nio=ALL-UNNAMED -jar metabase.jar
Metabase 在启动时会在终端中记录其进度。等到您看到“Metabase Initialization Complete”后,访问 https://:3000/setup
。
如果您使用的是 Pro 或 Enterprise 版本,请务必激活您的许可证。
本地安装
如果您只是想试用 Metabase、摆弄一下 Metabase,或者只是在本地计算机上使用 Metabase,Metabase 附带一个默认的应用程序数据库供您使用。此设置不适用于生产环境。如果您打算在您的组织中正式运行 Metabase,请参阅生产环境安装。
以下说明与上面的快速开始相同,只是对每个步骤提供了更多上下文。
1. 安装 Java JRE
您可能已经安装了 Java。要检查版本,请打开终端并运行
java -version
如果未安装 Java,您需要先安装 Java 才能运行 Metabase。我们推荐使用来自 Eclipse Temurin 的 JRE 版本 21,并带有 HotSpot JVM。您可以在任何支持 Java 21 的地方运行 Metabase。不支持更早的 Java 版本。特定的处理器架构应该不重要(尽管我们只测试 Metabase 的 x86 和 ARM 架构)。
2. 下载 Metabase
下载 JAR 文件
如果您想安装 Metabase 的 Pro 或 Enterprise 版本,请参阅激活您的 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 服务器,很可能在 https://:3000
。
您可以通过在运行 jar 之前设置 MB_JETTY_PORT
环境变量来使用 3000 以外的端口。
如果您使用的是 Metabase 的 Pro 或 Enterprise 版本,请务必激活您的许可证。
生产环境安装
步骤与上述步骤类似,但有两个重要区别:如果您想在生产环境中运行 Metabase,您需要:
- 使用生产应用程序数据库来存储您的 Metabase 应用程序数据。
- 将 Metabase 作为服务运行。
如果您更喜欢使用 Docker,请查看在 Docker 上运行 Metabase。
生产应用程序数据库
以下是我们支持的一些数据库。
例如,假设您想使用 PostgreSQL。您需要启动并运行一个 PostgreSQL 服务并创建一个空数据库
createdb metabaseappdb
您可以随意命名您的应用程序数据库。并且不需要在该数据库中创建任何表;Metabase 会为您完成。您只需要为 Metabase 设置环境变量,以便 Metabase 在启动时知道如何连接到这个数据库。
您将像本地安装中列出的步骤一样为 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
上述命令将通过 localhost:5432
使用用户帐户 username
和密码 password
将 Metabase 连接到您的 Postgres 数据库 metabaseappdb
。如果您将 Metabase 作为服务运行,您需要将这些环境变量放在一个单独的配置文件中。
将 Metabase JAR 作为服务运行
如果您需要在生产环境中运行 JAR,您应该将 Metabase 作为服务运行。将 Metabase 作为服务运行将:
- 确保 Metabase 自动运行(并保持运行)。
- 允许您使用非特权用户运行 Metabase(这对于安全是好的)。
如何将 Metabase 作为服务运行的具体说明将因您的操作系统而异。有关如何将 Metabase 设置为服务的示例,请查看在 Debian 上运行 Metabase。
迁移到生产安装
如果您一直在使用默认的 H2 应用程序数据库运行 Metabase,并且您的团队已经创建了问题、仪表盘、集合等,您需要将这些数据迁移到生产应用程序数据库。而且越早越好。请参阅从 H2 数据库迁移。
故障排除
如果您在安装过程中遇到任何问题,请查看我们的故障排除页面。
升级 Metabase
请参阅升级 Metabase。
设置 Metabase
现在您已经安装了 Metabase,是时候设置它并将其连接到您的数据库了。
阅读其他版本的 Metabase 的文档。