Google App Engine 上的元数据库

2023-12-25

我正在尝试使用 Google Cloud SQL (MySQL) 在 gcloud 引擎上设置元数据库。

我已经使用它运行了this https://github.com/eddies/metabase-gaegit 和这个 app.yaml:

runtime: custom
env: flex

# Metabase does not support horizontal scaling
#   https://github.com/metabase/metabase/issues/2754
#   https://cloud.google.com/appengine/docs/flexible/java/configuring-your-app-with-app-yaml
manual_scaling:
  instances: 1

env_variables:
 # MB_JETTY_PORT: 8080
  MB_DB_TYPE: mysql
  MB_DB_DBNAME: [db_name]
 # MB_DB_PORT: 5432
  MB_DB_USER: [db_user]
  MB_DB_PASS: [db_password]
 # MB_DB_HOST: 127.0.0.1
  CLOUD_SQL_INSTANCE: [project-id]:[location]:[instance-id]

我有 2 个问题:

  1. 元数据库无法连接到 Cloud SQL - Cloud SQL 是同一项目的一部分,并且 App Engine 已获得授权。

  2. 在元数据库中创建管理员用户后,我只能登录几秒钟(而且只是有时),但它总是让我要么/setup or /auth/login说密码不匹配(当匹配时)。

我希望有人可以提供帮助 - 谢谢!


因此,我们刚刚在 Google App Engine 中运行元数据库,并使用运行 PostgreSQL 的 Cloud SQL 实例,这些是我们所经历的步骤。

首先,创建一个 Dockerfile:

FROM gcr.io/google-appengine/openjdk:8

EXPOSE 8080

ENV JAVA_OPTS "-XX:+IgnoreUnrecognizedVMOptions -Dfile.encoding=UTF-8 --add-opens=java.base/java.net=ALL-UNNAMED --add-modules=java.xml.bind"
ENV JAVA_TOOL_OPTIONS "-Xmx1g"

ADD https://downloads.metabase.com/enterprise/v1.1.6/metabase.jar $APP_DESTINATION

我们尝试进一步降低内存,但 1 GB 似乎是最佳选择。到app.yaml:

runtime: custom
env: flex

manual_scaling:
  instances: 1

resources:
  cpu: 1
  memory_gb: 1
  disk_size_gb: 10

readiness_check:
  path: "/api/health"
  check_interval_sec: 5
  timeout_sec: 5
  failure_threshold: 2
  success_threshold: 2
  app_start_timeout_sec: 600

beta_settings:
  cloud_sql_instances: <Instance-Connection-Name>=tcp:5432

env_variables:
  MB_DB_DBNAME: 'metabase'
  MB_DB_TYPE: 'postgres'
  MB_DB_HOST: '172.17.0.1'
  MB_DB_PORT: '5432'
  MB_DB_USER: '<username>'
  MB_DB_PASS: '<password>'
  MB_JETTY_PORT: '8080'

请注意beta_settings底部的字段,处理什么akilesh raj是手动做的。另外,尾随=tcp:5432是必需的,因为元数据库尚不支持 unix 套接字。

可以找到相关文档here https://cloud.google.com/sql/docs/postgres/connect-app-engine#configuring.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google App Engine 上的元数据库 的相关文章

随机推荐

  • 如果显式使用同一模块中的类型,则 Prism 框架不会加载模块

    我们有一个使用 prism 5 框架的 WPF 应用程序 使用 DirectoryModuleCatalog 加载模块 同时 如果我引用引导程序所在的启动项目中的模块之一并使用其中的类型 则该模块将被跳过加载 看起来 prism 框架正在跳
  • 关于 Z3 for Java 的性能问题

    我在当前使用 Z3 for Java 的项目中遇到了一些性能问题 基本上我当前的大多数限制都非常简单 例如 f x 2 f y lt 3 f x lt 5 我正在使用整个项目共享的静态上下文和解算器实例 public class Const
  • 如何从服务器发送数据到Android?

    我正在开发一个项目 我希望我的服务器向我的应用程序发送一些数据 无需从移动设备调用 Web 服务 它就像一个网络面板 可以操作移动应用程序来添加数据 因此 当用户在网站中添加数据并单击 添加 时 应该将该数据添加到移动应用程序 如果移动设备
  • QEMU、无可启动设备、Linux 的 Windows 子系统

    我正在学习如何构建基本的操作系统内核https intermezzos github io https intermezzos github io 我已经创建了我的 iso文件 我现在正在运行qemu system x86 64 cdrom
  • 如何在“共享”(git 管理)Xcode 项目中使用“私有”.xcconfig?

    通常 我会使用现有的 xcconfig在某些子模块中 以简化 Xcode 工作区 或项目 中某些 git 子模块 或我自己的 Xcode 子项目 之一 的集成 这非常有效 并且减少了对可能存在的项目进行大量本地配置更改的需要在其自己的 或者
  • 将扁平化的键->值对转换为嵌套对象

    将以下键 gt 值对象 数组 转换为正确的 JSON 样式对象的最简单方法是什么 下面的示例将输入转换为图表 var input graph default seriesColor cccccc 3c3c3c graph default s
  • 软件安装时如何生成数据库后端?

    我开发了一个带有 SQL SERVER 后端的小型应用程序 并且还使用 Indigo Rose 安装工厂 8 0 为该应用程序制作了一个安装程序 我需要的是我想在应用程序安装过程中自动创建具有特定用户帐户的数据库后端 在安装程序之前 系统会
  • 使用一个查询通过 wp_query 搜索多个关键字

    我使用这个 wp query 来获取特定关键字的结果并按价格排序 我需要同时搜索多个关键词并返回结果并按产品价格排序 如何使用一个 wp query 实现这一点 例如有三个标题记录 我在这里很好谢谢我很好 谢谢我现在很好 如果我搜索文本 m
  • 给定最大匹配,找到二分图的最小顶点覆盖

    我似乎找到了一种算法 但无法理解它 我想知道你们中是否有人知道该算法的一般概要 这是我在第 2 页找到的算法的链接 http www cse iitb ac in sundar cs435 lecture23 pdf http www cs
  • 我可以从当前执行的函数中按程序获取参数名称/值吗?

    我想做这样的事情 public MyFunction int integerParameter string stringParameter Do this LogParameters Instead of this Log Debug i
  • 不使用“synchronized”关键字的线程安全代码?

    有哪些可能的方法可以使代码线程安全而不使用synchronized关键词 其实方法有很多 如果您没有可变状态 则根本不需要同步 如果可变状态仅限于单个线程 则不需要同步 这可以通过使用局部变量或java lang ThreadLocal h
  • SSRS - 如何构建简单的多列报告?

    我正在使用 SQL Server 2008 我想在报告的多列中显示表中的 1 个单个字段 就像我要打印标签一样 我怎样才能实现这个目标 Example 而不是打印 姓名报告 Andrea Austin Barbara Bob Bruno C
  • 引入 git switch 后 git checkout 还能做什么?

    众所周知 git checkout是一个非常重载的命令 我确实理解引入了某些命令来分发 例如到git switch 在我使用以下命令之前 git checkout
  • 从辅助节点提升辅助节点到主节点

    我的测试系统 由于缺乏资源 有一个双 mongodb 复制集 没有仲裁者 在某些系统更改期间 其中一台服务器停止运行并且不会恢复 该服务器恰好托管主 mongo 节点 这使得该组中唯一的其他成员成为次要成员 我知道我应该为集群至少拥有三个节
  • Java 中的 MySQL 连接错误 - com.mysql.jdbc.Driver

    我一直在尝试将我的java应用程序连接到MySQL数据库并使用了以下代码行 import java sql public class AcceptValues extends HttpServlet protected void doPos
  • 页面加载时如何从 TextInputLayout 中移除焦点?

    当这个 xml 加载到片段中时 焦点直接转到第二个编辑文本 我希望编辑文本应该集中于触摸它 我想使用我自己的颜色来提示和输入文本 非常感谢任何帮助
  • 当我们运行密集光流(farnnback)时,输出到底是什么?

    我一直在运行官方文档页面中给出的密集光流的Python实现代码 在代码的某一行 他们使用mag ang cv2 cartToPolar 流 0 流 1 当我打印 mag 的值时 我得到这些 请检查此图像以获取我得到的输出 https i s
  • 根据第二列条件删除重复项

    我正在尝试根据不同列上的最大值从数据框中删除重复行 因此 对于数据框 df lt data frame rbind c a 2 3 c a 3 4 c a 3 5 c b 1 3 c b 2 6 c r 4 5 colnames df lt
  • 点击 UITableViewCell 时如何在 iPhone 应用程序上播放 YouTube 电影?

    我是 iPhone 开发的新手 刚刚开始开发一个包含 UITableView 的应用程序 其中每个单元格都包含 Web 视图形式的 YouTube 视频缩略图 为了在 iPhone 上嵌入 YouTube 播放器 我使用了以下代码 void
  • Google App Engine 上的元数据库

    我正在尝试使用 Google Cloud SQL MySQL 在 gcloud 引擎上设置元数据库 我已经使用它运行了this https github com eddies metabase gaegit 和这个 app yaml run