NuoDB
by NuoDB

在Docker容器中部署Nuodb数据库

重新发布许可 新堆栈.

在 Nuodb.,我们不仅努力改善我们的努力 Elastic SQL数据库 发动机还可以更轻松地让开发人员消耗它。 NOODB是A. SQL数据库 对于基于云和容器的环境,一个设计为可扩展和容错的能力,其能够在分布式架构上进行负载平衡。

我们已经提供了在CentOS 7上运行的Nuodb Docker集装箱。容器可通过 Docker Hub,我们将不断更新更新,以便在每个云环境中提高部署的便利。要获取Nuodb的副本,请从以下repo执行Docker拉动。


docker pull nuodb/nuodb-ce:3.0.0

启动命令

如果您不熟悉Nuodb的架构,请阅读我们的阅读 建筑白皮书 (门控)。您还可以查看我们的电子书 NOODB和DOCKER FIT (未门控)用于高级架构讨论。

TL;架构的DR版本是Nuodb被分为三个组件。这允许您利用AWS“自动缩放组或Kubernetes”自动阶段的服务,以提高Nuodb的交易引擎(TES)和存储管理器(SMS)的吞吐量和高可用性。因此,我们配置了NuodB以将每个组件进程作为其自己的容器启动。

它们不必位于同一主机上,但需要在同一叠加网络上,以便它们彼此通信。或者,您可以将主机端口映射到容器以连接到较大的网络上。我们还建议您将TE容器放在同一主机上作为应用程序。这将允许您的应用程序与缓存的数据库一起在本地通信,并且之间没有网络跳跃。

以下是NOODB的三个组件:

  • 经纪人 - 用于管理NOODB的域状态和负载平衡。
  • 存储管理器(SMS) - 用于数据档案。 SMS负责确保数据耐用性和磁盘复制。
  • 交易引擎(TES) - 作为数据表的端点和缓存。 TES是基于内存和管理事务处理。

让我们首先通过开始经纪人来获得Nuodb。代理是NOODB的单个固定点及其域状态同步。 SM和TE需要知道在哪里可以在哪里找到经纪人,所以一旦经纪人容器开始,我们将抓住经纪人的Docker网络地址。

从命令行中,运行以下内容。参数定义是在Docker运行命令之后。


docker run -d \
-e "Domain_Password.=bird" \
-e "node_type.=BROKER" \
-e "broker_port.=48004" \
-e "node_region.=local" \
-e "AGENT_PORT=48004" \
-p 48004:48004 \
-p 8888:8888 \
--name broker \
nuodb/nuodb-ce:3.0.0

通过检查容器来抓取容器的IP地址:

Docker. inspect broker

现在开始SM和TE。代替 使用经纪人的Docker网络IP。


docker run -d \
-e "Domain_Password.=bird" \
-e "broker_port.=48004" \
-e "node_region.=local" \
-e "peer_address.=" \
-e "AGENT_PORT=48004" \
-e "node_type.=SM" \
-e "node_port.=48005" \
--name sm \
nuodb/nuodb-ce:3.0.0
docker run -d \
-e "Domain_Password.=bird" \
-e "broker_port.=48004" \
-e "node_region.=local" \
-e "peer_address.=" \
-e "node_type.=TE" \
-e "node_port.=48005" \
-e "AGENT_PORT=48004" \
-p 48005:48005
--name TE \
nuodb/nuodb-ce:3.0.0

论点:

Domain_Password.

 Nuodb的域名密码(超级用户)。

broker_port. 经纪人将倾听。每个容器都会运行代理并在本地保留域状态的记录。
node_region. 经纪人使用节点区域基于TE位置逻辑加载平衡。这对多区域部署非常有用。
peer_address. 部署的第一个经纪人的地址。
node_type. 确定容器中已启用哪些Nuodb组件。
node_port. 要倾听te的端口。

连接到Nuodb.

如果您尚未在本地下载并安装NOODB二进制文件,则需要访问Docker容器内的NuodBmgr。首先,使用以下命令登录Docker容器:


docker exec -it broker /bin/bash

以下命令将您连接到Nuodb的实例。


/opt/nuodb/bin/nuodbmgr --broker localhost --password bird

对于开发和测试应用程序,您可以启动同一容器内的所有三个Nuodb组件。以下是运行命令:


docker run -d \
-e "Domain_Password.=bird" \
-e "AGENT_PORT=48004" \
-e "node_type.=ALL" \
-e "broker_port.=48004" \
-e "node_region.=aws" \
-p 48004:48004 \
-p 8888:8888 \
nuodb/nuodb-ce:3.0.0

接下来是什么?

现在,您已在Docker中获取运行Nuodb实例。从这里,你可以做的更多。一个注 - 我上面概述的一切都基于具有暂行文件系统的瞬态容器。有关容器持久性的讨论,您将想要 看看这个博客,并向下滚动到标题的部分“Docker中的”D“并不代表耐用性。”

如果您想扩展处理,我们的社区版(我们放在Docker Hub)的许可是最多三次交易引擎。点击此处获取有关的额外逐步信息 nuodb入门.