ArangoDB 如何启动一个Arango3.1.8集群,其中节点使用arangod.conf文件提供多个角色

wmtdaxz3  于 2023-09-28  发布在  Go
关注(0)|答案(1)|浏览(145)

我已经配置了三个虚拟机(通过Azure),都运行Ubuntu 16.04。每个VM都运行ArangoDB 3.1.8。
虽然我可以让单个机器成功运行Arango并访问UI,但我似乎无法使用**/etc/arangodb 3**下的arangod.conf文件正确地将它们集群化。
理想情况下,我希望在每台机器上运行所有三个角色:代理、协调员和主代理。虽然这在从命令行运行时似乎是可能的(* 对不起,来自Windows后台 *),但如何使用配置文件来完成?
到目前为止,我在我的arangod.conf中有这个:

[database]
directory = /var/lib/arangodb3

# maximal-journal-size = 33554432

[server]
endpoint = tcp://[::]:8529
endpoint = tcp://[::]:5001

authentication = true

# gather server statistics
statistics = true

uid = arangodb

[javascript]
startup-directory = usr/share/arangodb3/js
app-path = /var/lib/arangodb3-apps

[log]
level = info
file = /var/log/arangodb3/arangod.log

[agency]
id = 0
size = 3
supervision = true
activate = true

[cluster]
my-address = tcp://full_dn_to_server1:8529
my-local-info = myarango1

my-role = COORDINATOR; PRIMARY

agency-endpoint = tcp://full_dn_to_server1:5001
agency-endpoint = tcp://full_dn_to_server2:5001
agency-endpoint = tcp://full_dn_to_server3:5001

然后我计划在所有三台服务器上使用这个文件,并更改cluster.my-* 和agency.id属性。
我看了以下链接以寻求帮助:https://github.com/arangodb/arangodb/blob/b7cc85349c132f2ec7020dcddbd53e5bcfe12895/Documentation/Books/Manual/Deployment/Distributed.mdhttps://raw.githubusercontent.com/ArangoDB/deployment/publish/Azure_ArangoDB_Cluster.sh

aelbi1ox

aelbi1ox1#

您需要每个节点的配置文件。每个人都有自己的个性。即agent.conf、dbserver.conf和coordinator. conf。每个都需要有自己的端点。因此,以上是您在所有三台机器上的agency.conf,只有端点5001。现在您仍然需要coordinator.conf和dbserver.conf。下面的3.1部署文档提供了所有3种arangod示例,并提供了必要的命令行参数:https://github.com/arangodb/arangodb/blob/b7cc85349c132f2ec7020dcddbd53e5bcfe12895/Documentation/Books/Manual/Deployment/Distributed.md本质上,您需要将任何--<domain>.<parameter> <value>参数转换为各个conf文件中的节条目。所以--agency.activate true --agency.endpoint tcp://some-host:port --agency.size会变成

[agency]
size = 3
endpoint = tcp://some-host:port
activate = true

因此,让我们从文档中获取一个协调器命令行:

arangod --server.authentication=false --server.endpoint tcp://0.0.0.0:8531 --cluster.my-address tcp://192.168.1.3:8531 --cluster.my-local-info coord1 --cluster.my-role COORDINATOR --cluster.agency-endpoint tcp://192.168.1.1:5001 --cluster.agency-endpoint tcp://192.168.1.2:5001 --cluster.agency-endpoint tcp://192.168.1.3:5001 --database.directory coordinator

这会变成

[server]
authentication = false
endpoint = tcp://0.0.0.0:8531

[cluster]
my-address = tcp://192.168.1.3:8531
my-local-info = coord1
my-role = COORDINATOR
agency-endpoint = tcp://192.168.1.1:5001
agency-endpoint = tcp://192.168.1.2:5001
agency-endpoint = tcp://192.168.1.3:5001

[database]
directory coordinator

你需要在每台机器上启动3个arangod进程,每个进程都有指定的配置文件。即

arangod -c /etc/arangodb3/agent.conf
arangod -c /etc/arangodb3/coordinator.conf
arangod -c /etc/arangodb3/dbserver.conf

最后,您可能还想看看Max Neunhöfer的arangodb starter,网址为https://github.com/neunhoef/ArangoDBStarter

相关问题