运行 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,请参阅生产环境安装。
以下说明与上面的快速入门相同,只是每个步骤都增加了一些背景信息。
1. 安装 Java JRE
您可能已经安装了 Java。要检查版本,请打开终端并运行
java -version
如果未安装 Java,则在运行 Metabase 之前需要先安装 Java。我们推荐使用 Eclipse Temurin 的 HotSpot JVM 的 21 版本 JRE。您可以在 Java 21 运行的任何地方运行 Metabase。不支持更早的 Java 版本。特定的处理器架构应该无关紧要(尽管我们只在 x86 和 ARM 上测试 Metabase)。
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 设置为服务的示例,请参阅将 Metabase 作为 systemd 服务运行。
迁移到生产环境安装
如果您一直在使用默认的 H2 应用程序数据库运行 Metabase,并且您的团队已经创建了问题、仪表板、集合等,您将希望将该数据迁移到生产应用程序数据库。您越早迁移越好。请参阅从 H2 数据库迁移。
故障排除
如果在安装过程中遇到任何问题,请查看我们的故障排除页面。
升级 Metabase
请参阅升级 Metabase。
设置 Metabase
现在您已经安装了 Metabase,是时候设置它并将其连接到您的数据库了。
阅读其他版本的 Metabase 的文档。