ArangoDB 部署系列——01 single instance

888 阅读3分钟

概念解释

刚接触ArangoDB会被这几个概念搞晕,有 arangod, arangodb, arangosh, arangodb-cli.将最近学习的理解记录如下:

命令解释
arangosh一个shell工具,用于管理DB以及写一些临时查询, 前提是数据服务已启动,否则会提示无法连接,如图1,同理,此时也无法通过Web界面来管理DB
arangod启动单个实例,如图2
arangodbstarter 工具,方便部署,有不同参数
arangodb-cli使用安装包的方式安装后,电脑上出现相应图标,可以启动单个实例, 如图3,4

截屏2022-04-22 下午4.25.20.png 图1: 没有启动服务时,命令行敲入arangosh,尝试连接localhost:8529,显示无法连接

截屏2022-04-22 下午4.41.16.png 图2:敲入arangod, 可以启动单实例,随后可以在8529端口通过Web界面管理,也可以使用arangosh连接

截屏2022-04-22 下午4.44.24.png 图3:我在本机MacOS上通过dmg方式安装后,会在启动台显示ArangoDB3-CLI图标,点击可启动

如果通过点击ArangoDB3-CLI图标的方式启动服务,则显示图4(其实,这种和使用arangod的方式一样,不过这里指定了数据库的存储目录和日志目录,经测试这种方式启动服务后,能在Web界面中看到之前文章中一直使用的机场航班数据,而直接使用arangod则找不到机场航班数据,后面会介绍 arangod命令可以指定数据存储的目录)

截屏2022-04-22 下午4.48.34.png 图4:点击ArangoDB3-CLI图标后,也会启动单实例,还指定了数据和日志存放目录

部署模式

根据官网介绍,ArangoDB的部署模式(deployment mode)共有5种:

  • 单实例 single instance
  • 主动故障转移 Active Failover (不同语境下还有其他名字,如synchronous Failover, Resilient Single, Active-Passive or Hot Standby热备,3.3版本之后,统一叫Active Failover )
  • 集群 cluster
  • 多数据中心 multiple datacenters
  • Standalone Agency

单实例部署模式

与其他模式不同(如主动故障转移、集群或多数据中心这些模式,安装了 ArangoDB 软件包后,还需要启动一些特定的procedures),部署单实例非常简单。

即使操作系统不同,安装完ArangoDB后,启动运行通常都很简单。

你可以在同一台机器上运行多个 arangod 单实例进程,只要为它们配置不同的端口数据存储文件夹即可。

接下来介绍两种启动单实例的方法:

arangod

可通过 arangod --help查看各种参数用法,这里指定 --database.directory参数,如下图:

截屏2022-04-22 下午9.13.29.png

# 指定数据存储目录(换成你自己的目录),并启动单实例
arangod --database.directory /Users/hzh/Library/ArangoDB/opt/arangodb/var/lib/arangodb3

使用 ArangoDB Starter

ArangoDB Starter,是一个工具,命令行里敲 arangodb,它可帮助用户更容易的部署ArangoDB

命令:
arangodb --starter.mode=single

# 官网介绍可使用该命令启动单实例,本机测试后,总是提示以下错误,暂不清楚原因
# Failed to register upgrade plan changed callback error="context deadline exceeded"

## 后续实验,找到了解决办法:关闭之前已启动的单实例(即8529端口的进程杀死),并将arangodb相关的文件夹,例如名字为db2,db3, setup.json, single8529, cluster8530等,里面包含arangodb的相关文件,应该是之前做cluster实验时生成的,都删掉。 随后重新使用命令可正常运行, 见下图

截屏2022-04-23 上午11.46.02.png 图: arangodb --starter.mode=single 正常运行时

参考

[1]www.arangodb.com/docs/stable…