【问题标题】:CouchDB Clustering : Impossible to set it upCouchDB 集群:无法设置
【发布时间】:2018-07-30 14:29:45
【问题描述】:

我正在关注此文档:

http://docs.couchdb.org/en/latest/cluster/setup.html#the-cluster-setup-api

11.1 部分:集群设置 API

我有 3 台安装了 CouchDB 和 Curl 的 ubuntu 机器,具有以下 ip:

  • 192.168.219.138
  • 192.168.219.139
  • 192.168.219.140

第一步,正如文档所说,我在 3 台机器上分别输入以下命令(已设置管理员密码。):

> curl -X POST -H "Content-Type: application/json"
> http://admin:password@127.0.0.1:5984/_cluster_setup -d '{"action":
> "enable_cluster", "bind_address":"0.0.0.0", "username": "admin",
> "password":"password", "node_count":"3"}'

它在每台机器上都这样说:

{"ok":true}

第二步,我继续 192.168.219.139(设置协调节点)并尝试添加节点,所以我正在输入这些命令,就像文档中提到的那样:

curl -X POST -H "Content-Type: application/json" http://admin:password@127.0.0.1:5984/_cluster_setup -d '{"action": "enable_cluster", "bind_address":"0.0.0.0", "username": "admin", "password":"password", "port": 15984, "node_count": "3", "remote_node": "192.168.219.138", "remote_current_user": "admin", "remote_current_password": "password" }'
curl -X POST -H "Content-Type: application/json" http://admin:password@127.0.0.1:5984/_cluster_setup -d '{"action": "add_node", "host":"192.168.219.138", "port": 5684, "username": "admin", "password":"password"}'
curl -X POST -H "Content-Type: application/json" http://admin:password@127.0.0.1:5984/_cluster_setup -d '{"action": "enable_cluster", "bind_address":"0.0.0.0", "username": "admin", "password":"password", "port": 15984, "node_count": "3", "remote_node": "192.168.219.140", "remote_current_user": "admin", "remote_current_password": "password" }'
curl -X POST -H "Content-Type: application/json" http://admin:password@127.0.0.1:5984/_cluster_setup -d '{"action": "add_node", "host":"192.168.219.140", "port": 5684, "username": "admin", "password":"password"}'

然后,我执行此命令来检查我的集群是否正常:

curl http://admin:password@127.0.0.1:5984/_membership

这就是答案,所有节点都不见了:

    {
    "all_nodes": [
        "couchdb@localhost"
    ],
    "cluster_nodes": [
        "couchdb@192.168.219.138",
        "couchdb@192.168.219.140",
        "couchdb@locahost"
    ]
}

请注意,医生说我应该得到这个:

{
    "all_nodes": [
        "couchdb@couch1",
        "couchdb@couch2",
         "couchdb@couch3"
    ],
    "cluster_nodes": [
        "couchdb@couch1",
        "couchdb@couch2",
         "couchdb@couch3"
    ]
}

我猜我的集群不能正常工作,你能告诉我我做错了什么吗?

谢谢。

例如,然后我转到 192.168.219.139,添加一个名为“机构”的新数据库,其他两个节点上都没有任何反应!

【问题讨论】:

    标签: couchdb cluster-computing


    【解决方案1】:

    不确定这是否是错字,但在第二步中,您有:

    curl -X POST -H "Content-Type: application/json" http://admin:password@127.0.0.1:5984/_cluster_setup -d '{"action": "enable_cluster", "bind_address":"0.0.0.0", "username": "admin", "password":"password", "port": 15984, "node_count": "3", "remote_node": "192.168.219.138", "remote_current_user": "admin", "remote_current_password": "password" }'
    

    通知"port": 15984

    但如果这不是问题,可能会有很多问题。集群操作发生在 erlang 端口上,因此不同的节点还必须通过 EPMD 端口 (4396) 以及一系列您可以限制的其他端口进行通信。每个节点都应该有一个配置(例如在 vm.args 文件中),带有这个 erlang 标志 -name couchdb@${node-ip-address|FQDN} 以及沙发节点用来相互交谈的 cookie。当然,根据您分享的内容之外的因素,可能还有其他考虑因素。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-01
      • 2020-01-05
      • 2015-07-19
      • 2019-07-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多