在 Oracle 云上部署 MindsDB

2022年 10月 16日 19.8k 0

介绍

MindsDB 支持数据库内机器学习功能。它使用户能够使用 AI 表从现有数据库中查询未来。

一般来说,MindsDB 通过处理现有数据并使用标准 SQL 查询将其输入训练模型来帮助构建准确的预测模型。它还可以使用 BI 工具可视化预测。

因此,今天在本教程中,我们将学习如何使用 Oracle 云计算实例部署自托管版本的 MindsDB。

部署 Oracle 云计算实例

Oracle 云基础设施广泛应用于 IT 行业,并提供一组高度可用和可扩展的云服务,能够构建和服务于广泛的应用程序。

因此,让我们继续使用以下步骤在 Oracle Cloud 上创建一个计算实例。

第 1 步:登录您的 Oracle 云基础设施帐户,如果还没有,请注册一个。Oracle 提供价值 300 美元的信用额度,为期 30 天,用于试用他们的服务。

注册页面

注意:配置您的帐户可能需要一段时间,一旦准备好您将收到一封电子邮件。您的帐户需要完全配置和准备好,以便您可以使用平台上的不同服务。

第 2 步:准备好帐户并登录后,您将进入Get Started如下所示的页面。只需单击Instances顶部Pinned选项卡中的 。

OCI 仪表板

第 3 步:在出现的下一个屏幕上,从左侧面板Compartment下方的部分中选择您的用户名List scope,然后点击Create instance按钮。

创建实例

第4步:Create compute insatnce页面中,我们需要根据需要填写虚拟机的配置。但是为了本教程的缘故,我们可以使用以下配置。

  • 名称:根据您的选择输入一个名称(我mindsdb-demo现在选择。)
  • 在隔间中创建:它将是您的username(root).
  • 放置:将此部分保留为默认值。
  • 图像和形状:单击Edit并选择以下选项。
    • 点击Change image
      • 图片来源:平台图片
      • 分区:your_username(root)
      • 图片名称:Canonical Ubuntu
      • 操作系统版本:22.04
      • 映像构建:2022.08.10-0(最新写入时)
    • 现在单击Select image以保存这些更改。
    • 现在点击Change shape
      • 实例类型:虚拟机
      • 形状系列:专业及上一代
      • 形状名称:VM.Standard.E2.8
    • 单击Select shape以保存这些更改。
  • 网络:将值保留为默认值。
  • 添加 SSH 密钥:选择Generate a key pair for me. 不要忘记下载并保存私钥和公钥,因为我们稍后将需要它们与 VM 交互。
  • 引导音量:只需勾选Use in-transit encryption,其他不勾选。

现在,我们已经完成了运行此 VM 所需的特定配置。现在让我们单击Create按钮来配置此 VM。

虚拟机配置

第 5 步:点击Create按钮后,它会将我们带到Work requests实例页面。请在此处稍等片刻,直到I左上角的图像框变为绿色并看到其Running下方的状态。

实例运行

第 6 步:我们现在可以使用我们之前下载的私钥使用 CMD 和以下命令简单地通过 SSH 连接到我们的 VM。

ssh -i location_of_the_private_key username_for_the_instance@public_ip_of_the_instance

如果我替换上述命令中的占位符,则该命令将如下所示。在 CMD 中提示时键入yes并点击Enter以从命令行访问 VM。

ssh -i ssh-key-2022-10-13.key ubuntu@129.154.45.47

我们现在已准备好继续执行后续步骤,以在我们的 VM 中安装 MindsDB 实例。

在云实例上部署 MindsDB

在本节中,我们将在 VM 上部署 MindsDB 实例,然后尝试在相应端口上使用 VM 的公共 IP 使用其 GUI。下面就让我们轻松搞定。

第 1 步:一旦我们 SSH 进入实例,我们需要更新其中存在的包索引,以便我们在安装某些东西时可以获得最新的包版本。我们可以使用下面的命令来做到这一点。

sudo apt-get update

步骤 2:我们将在后面的步骤中使用 Docker 安装 MindsDB。因此,让我们首先使用以下命令在 VM 中安装 Docker。在提示继续安装时键入Y并点击。Enter

sudo apt-get install docker.io

此命令执行成功后,只需运行以下命令即可检查 Docker 是否运行良好。这应该返回一个Hello from Docker!消息。

sudo docker run hello-world

第 3 步:我们现在将使用以下命令将 MindsDB 的最新稳定版本拉入我们的实例。

sudo docker pull mindsdb/mindsdb

您还可以使用以下命令尝试使用 MindsDB 的最新 beta 版本。

sudo docker pull mindsdb/mindsdb_beta

第 4 步:我们现在可以运行 MindsDB 实例并公开访问 MindsDB GUI 所需的特定端口,并通过 MySQL API 进行成功的数据事务。命令如下。

sudo docker run -p 47334:47334 -p 47335:47335 mindsdb/mindsdb

注意:GUI 将使用端口 47334 。MySQL API 将使用
端口 47335 。

第 5 步:现在,如果我们尝试使用 47334 端口上实例的公共 IP 访问 GUI,它只会出错。这是因为 Oracle 云基础设施默认阻止实例的传入流量。因此,我们现在需要为实例定义一个入口规则,以便能够访问 GUI。

  • 返回Instance details仪表板并单击子网名称。这应该带你到Subnet Details页面。
子网详细信息
  • Security Lists表格中,单击 的唯一可用记录Default Security List。这将带您进一步进入该Security List Details页面。
安全细节
  • 现在单击选项卡Add Ingress Rules下的按钮Ingress Rules。这将打开一个对话框,我们可以在其中定义要用于实例的入口规则。
添加入口规则
  • 现在使用以下详细信息来定义入口规则。
    • 无状态:保持原样未选中。
    • 来源类型:CIDR
    • 源 CIDR:0.0.0.0/0
    • IP协议:TCP
    • 源端口范围:留空。(默认为全部允许)
    • 目的端口范围:47334-47335
    • 描述:MindsDB 入口规则

现在单击Add Ingress Rule按钮将此规则添加到Default Security List.

入口规则配置

第 6 步:我们可以尝试使用公共 IP 和相应的端口访问 MindsDB GUI,并且应该能够成功访问它。

http://publicIP:47334/
MindsDB 图形用户界面

MindsDB GUI 有 3 个主要部分,即Query Editor顶部的 a Result Viewer、底部的和Learning Hub右侧的资源,以使其更容易被新用户访问。

注意:有了root对实例的用户访问权限,我们将永远不需要sudo在每个命令之前使用。

探索默认 MindsDB 表

此时,我们已经将 MindsDB 部署托管在实例的公共 IP 上。所以,现在是时候在我们第一次启动 MindsDB 时找出它存在哪些默认表了。

让我们运行以下 SQL 命令来获取可用表的列表。

Show tables;

我们可以找到上面列出的三个表,即:

  • 预测器:此表将每个经过训练的预测器模型及其特定详细信息存储为单独的记录。
  • Predictors_Versions:此表存储特定预测器模型的版本信息,例如该模型被用户调整和新训练的次数。
  • 数据库:此表存储连接到我们的 MindsDB 实例的所有数据库的列表。

结论

我们现在已经接近本教程的结尾了。所以,在我们离开之前,让我们总结一下我们刚刚在上面所做的所有事情。最初,我们从创建 Oracle 云帐户开始,配置一个计算实例,在其中使用 Docker 安装 MindsDB,为传入流量创建一个入口规则,最后探索 MindsDB GUI 以及存在的默认表。

现在,大家都知道如何在 Oracle 云基础设施上开始使用 MindsDB,是时候部署自己的 MindsDB 实例并开始使用它训练一些有趣的 Predictor 模型并与社区分享。

最后,我很想知道您的反馈,如果您点赞并在您的圈子中分享这篇文章,您认为它会增加一些价值,我将不胜感激。

注意:所有仪表板图像都是 Oracle Cloud Infrastructure 和 MindsDB 各自的属性,此处仅用于说明目的。

相关文章

KubeSphere 部署向量数据库 Milvus 实战指南
探索 Kubernetes 持久化存储之 Longhorn 初窥门径
征服 Docker 镜像访问限制!KubeSphere v3.4.1 成功部署全攻略
那些年在 Terraform 上吃到的糖和踩过的坑
无需 Kubernetes 测试 Kubernetes 网络实现
Kubernetes v1.31 中的移除和主要变更

发布评论