1

我试图为Metabase 创建一个 Ubuntu Upstart 服务,但我无法解决以下几点:

1)设置数据库环境变量(端口、ip和密码):

MB_DB_TYPE=mysql
MB_DB_DBNAME=metabase
MB_DB_PORT=3306
MB_DB_USER=root
MB_DB_PASS=root
MB_DB_HOST=99.99.999.99

2)如果失败则重启服务

3)开机启动

4) 执行元数据库.jar 程序

`java -jar metabase.jar`
4

2 回答 2

4

有一个 3 步指南可确保您的元数据库使用 systemd ( https://en.wikipedia.org/wiki/Systemd ) 在 Ubuntu 中作为服务运行。

1)metabase.service在以下文件夹中创建文件/usr/lib/systemd/system/(您可能需要创建系统文件夹)

[Unit]
Description=Metabase server

[Service]
User=<deploy user>
Restart=on-failure
Environment=MB_DB_TYPE=postgres
Environment=MB_DB_DBNAME=metabase
Environment=MB_DB_PORT=5432
Environment=MB_DB_USER=<db_user>
Environment=MB_DB_PASS=<db_password>
Environment=MB_DB_HOST=<host>
ExecStart=/usr/bin/java -jar /path/to/metabase.jar

[Install]
WantedBy=multi-user.target

2) 启用元数据库服务

sudo systemctl enable metabase.service

3)启动服务(您的元数据库服务将在端口 3000 可用)

sudo systemctl start metabase.service

要检查服务是否正在运行,请尝试: sudo systemctl status metabase.service

于 2017-08-01T22:50:43.260 回答
1

我最近写了一篇关于如何在 Ubuntu 上设置元数据库的教程,有关该过程的更详细描述,我建议您看一下。鉴于您提供的信息,我会尽力帮助您。

第一步:服务配置文件

有两种方法可以将 Java 应用程序设置为服务;但是,我将探讨元数据库文档中提到的那个。对于他们推荐的方法,您需要设置两个配置文件:

  1. /etc/init.d/元数据库
  2. /etc/default/元数据库

您可以根据提供的元数据库文档设置这些文件。注意:我需要对 init.d 进行一些更改,以便在服务执行 java -jar 之前导入配置变量,如果您有兴趣,可以在我上面的博客中找到更多详细信息。

第二步:设置代理

之后,您需要设置一个代理,以便服务器知道如何将流量重定向到端口 3000,以便激活元数据库。(同样,有关如何执行此操作的说明可以在我的博客中找到。)

第三步:将元数据库设置为服务

chmod +x /etc/init.d/metabase
touch /var/log/metabase
chown metabase_user:<group> /var/log/metabase.log
update-rc.d metabase defaults

请注意,元数据库必须有权写入日志文件,否则您将尝试盲目部署。

我要检查的其他事项:

  1. 确保您使用的端口99.99.999.99:3306允许您尝试进行的连接(http、https 或 ssh)。
  2. 确保 www-data/metabase_user 有权执行 metabase.jar 文件。如果不是,该服务将无法在您启动元数据库时sudo service metabase start

我希望这会有所帮助,如果您想了解有关任何步骤的更多详细信息,请查看: https ://codymyers93.wordpress.com/2018/05/07/metabase-on-ubuntu-with-flask-integration/

如有任何问题,请随时给我留言。

于 2018-05-08T14:59:07.460 回答