代码之家  ›  专栏  ›  技术社区  ›  Michael Pappas

我如何启动Arango 3.1.8集群,其中节点使用arangod服务多个角色。conf文件

  •  3
  • Michael Pappas  · 技术社区  · 7 年前

    我已经配置了三台虚拟机(通过Azure),都运行Ubuntu 16.04。每个虚拟机都运行ArangoDB 3.1.8。

    虽然我可以让单台机器成功运行Arango并访问UI,但我似乎无法使用Arango正确地对它们进行集群。conf文件 /etc/arangodb3 .

    理想情况下,我希望在每台机器上运行所有三个角色:代理、协调和主。当从命令行运行时,这似乎是可能的( 抱歉,来自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
    

    然后,我计划在所有三台服务器上使用此文件,并对集群进行更改。我的-*和代理。id属性。

    我查看了以下链接以获得帮助: https://docs.arangodb.com/3.0/Manual/Deployment/Distributed.html https://raw.githubusercontent.com/ArangoDB/deployment/publish/Azure_ArangoDB_Cluster.sh

    1 回复  |  直到 7 年前
        1
  •  3
  •   Kaveh Vahedipour    7 年前

    您需要每个节点的配置文件。每个人都有个性。i、 e.代理人。conf,dbserver。conf和coordinator.conf。每个都需要有自己的端点。因此,上述机构将是您的代理机构。仅在端点为5001的所有三台计算机上配置。 现在你仍然需要协调员。conf和dbserver.conf。 下面的3.1部署文档提供了所有3种arangod实例,并带有必要的命令行参数: https://docs.arangodb.com/3.1/Manual/Deployment/Distributed.html 基本上,您需要翻译任何 --<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 Neunhfer的arangodb首发网站: https://github.com/neunhoef/ArangoDBStarter